天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 12|回复: 0

[图块] 获取块索引的XCLIP边界(Get the XCLIPped boundary of BlockReferences

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
[code]  // Draw a red polyline by the given points etc.  //--------------------------------------------------  static BOOL drawAPlineWithPropertiesFromBlockRef(AcGePoint2dArray pts,                 AcDbBlockReference* ref, double elevation, AcGeVector3d& normal)  {    AcDbPolyline *pl = new AcDbPolyline;    AcDbObjectId owner;    pl->setDatabaseDefaults();    pl->setClosed(Adesk::kTrue);    pl->setThickness(0.0);    if (ref != NULL) {        owner=ref->ownerId();        pl->setPropertiesFrom(ref);    }    pl->setNormal(normal);    for (int i=0; i < pts.length(); i++)    {        pl->addVertexAt(i, pts<i>);    }    pl->setElevation(elevation);    pl->setColorIndex(1); // Red    AcDbBlockTableRecord *rec=NULL;    acdbOpenObject(rec, owner, AcDb::kForWrite);    if (rec != NULL)    {        AcDbObjectId id;        rec->appendAcDbEntity(id, pl);        pl->close();        rec->close();    }    else    {        delete pl;        return false;    }    return true;  } // End of drawAPlineWithPropertiesFromBlockRef()  // Get the boundary from a Block Reference given by the blk parameter.  // Transform that boundary to the WCS.  //-------------------------------------------------------------------  static BOOL GetBlockClippingPolyline(ads_name blk)  {    BOOL ret = FALSE;    AcDbBlockReference *ref = NULL;    AcDbObjectId insId = AcDbObjectId::kNull;    acdbGetObjectId(insId, blk);    if (acdbOpenObject(ref, insId, AcDb::kForRead) != Acad::eOk)      return ret;    // Find the clipping object (AcDbSpatialFilter) in the ExtDict of the BlockRef    AcDbObjectId extDicId = ref->extensionDictionary();    if( extDicId == AcDbObjectId::kNull )      return ret;    AcDbDictionary *extDict=NULL, *acadFilterDict=NULL;    if (acdbOpenObject(extDict, extDicId, AcDb::kForRead) != Acad::eOk)        return ret;    Acad::ErrorStatus err = extDict->getAt(_T("ACAD_FILTER"), (AcDbObject*&)acadFilterDict, AcDb::kForRead);    extDict->close();    if( err != Acad::eOk )        return ret;    AcDbSpatialFilter *filter=NULL;    err = acadFilterDict->getAt(_T("SPATIAL"), (AcDbObject*&)filter, AcDb::kForRead);    acadFilterDict->close();    if ( err != Acad::eOk)      return ret;    // Get the transform matrix stored in the XClip boundary    AcGeMatrix3d xformInBoundary = filter->getClipSpaceToWCSMatrix( xformInBoundary );    // and the transform of the BlockRef at the time when the Filter was set    AcGeMatrix3d xformRefOrig = filter->getOriginalInverseBlockXform( xformRefOrig );    // Get the transform matrix that the current BlockRef has, so, we can find the difference    //   with the xformRefOrig    AcGeMatrix3d refMatrix = ref->blockTransform();    refMatrix = refMatrix.postMultBy(xformRefOrig );    // Calculate the final transform matrix which applies to the points    // returned from filter->getDefinition().    AcGeMatrix3d finalMatrix = refMatrix.postMultBy(xformInBoundary);    AcGePoint2dArray pts;    AcGePoint3dArray pts3d;    AcGeVector3d normal;    double elevation = 0, frontClip = 0, backClip = 0;    Adesk::Boolean enabled  = false;    // Get all boundary points    if (filter->getDefinition(pts, normal, elevation, frontClip, backClip, enabled) == Acad::eOk)    {      // Rectanglar boundary      if (pts.length() == 2)      {        AcGePoint2d p1(pts[1].x, pts[0].y);        AcGePoint2d p3(pts[0].x, pts[1].y);        pts.insertAt(1, p1);        pts.insertAt(3, p3);      }      // Transform all points with the transform matrix we calculated      for(int i=0; i<pts.length(); i++)      {        AcGePoint2d pt2d;        AcGePoint3d pt3d;        pt2d = pts<i>;        pt3d[0] = pt2d[0]; pt3d[1] = pt2d[1]; pt3d[2] = 0;        pt3d.transformBy(finalMatrix);        pts3d.append(pt3d);      }    }    // Get the new normal and new ECS information for the polyline.    AcGeVector3d xfnorm = normal.transformBy(finalMatrix);    AcGeMatrix3d plineECS;    AcDbPolyline* pline = new AcDbPolyline();    pline->setNormal(xfnorm);    pline->getEcs(plineECS);    delete pline; pline = NULL;    AcGeMatrix3d plineECSInv = plineECS.inverse();    double xfelev = 0.0;    for (int i = 0; i < pts.length(); i++)    {      pts<i>.x = pts3d<i>.x;      pts<i>.y = pts3d<i>.y;      if (i == 0)        xfelev = pts3d<i>.z;      // Should be identical to within roundoff      assert(fabs(xfelev - pts3d<i>.z) < 1.0e-10);    }    // Show the boundary    drawAPlineWithPropertiesFromBlockRef(pts, ref, xfelev, xfnorm);    filter->close();    ref->close();    return true;  } // End of GetBlockClippingPolyline()  // "MClip" test command for the GetBlockClippingPolyline() function. static void MMRCplusplus_MClip(void)  {    ads_name en;    AcGePoint3d pt;    if (acedEntSel(_T("\nSelect an INSERT clipped by XCLIP command: "), en, asDblArray(pt)) != RTNORM)    {      acutPrintf(_T("\nNothing selected"));      return;    }    assert(GetBlockClippingPolyline(en)==TRUE);  }[/code]

 

 

 

 

[图块] 获取块索引的XCLIP边界(Get the XCLIPped boundary of BlockReferences

该用户从未签到

主题

0

回帖

0

积分

管理员

积分
0
发表于 2024-7-28 09:28:43 | 显示全部楼层
  法拉利膜材作为一种高性能的建筑材料,在建筑、汽车及广告等多个领域有着广泛的应用。以下是对法拉利膜材型号、特点及优点的详细分析:
[img]http://www.mjgou.com/data/attachment/forum/202403/13/223041uiqmeujen4jjj6zv.jpg[/img]
[b]一、法拉利膜材型号[/b]
法拉利膜材有多种型号,包括但不限于以下几种:1302 S2 Flexlight Advanced:这是一种高性能IV型柔性复合膜材,以其卓越的透光性、耐久性和易维护性而受到青睐。942、1202 S2、1002 S2、902 S2、1212 S2、912 S2:这些型号同样属于法拉利膜材系列,各自具有不同的特性和适用范围,但具体特点需根据具体型号进一步分析。需要注意的是,法拉利膜材的型号可能随着产品更新换代而有所变化,具体型号及其特性请参考最新产品资料。
[img=860,1255]http://www.mjgou.com/data/attachment/forum/202403/13/223254bbblwlbvbvsbwlsl.jpg[/img]
[b]二、法拉利膜材特点[/b]
法拉利膜材的特点主要体现在以下几个方面:
1、高强度与耐用性:法拉利膜材采用高强度材料制成,具有良好的抗拉强度和撕裂强度,能够承受较大的外力作用而不易破损。耐用性强,能够在恶劣气候条件下保持稳定的性能,延长使用寿命。
2、透光性与美观性:部分型号如1302 S2 Flexlight Advanced具有高透光性,能够在保持室内光线充足的同时,提供清晰的视野。膜材表面平整光滑,色彩丰富多样,能够满足不同建筑和装饰需求,提升整体美观性。
3、轻质与灵活性:法拉利膜材重量较轻,便于运输和安装,能够降低施工成本和时间。膜材具有一定的柔韧性,能够适应各种复杂形状和结构的设计要求。
4、环保与可回收性:法拉利膜材符合环保要求,部分材料可回收利用,减少了对环境的影响。
[img]http://www.mjgou.com/data/attachment/forum/202403/13/223128owhn0099rrds5h5y.jpg[/img]
[b]三、法拉利膜材优点[/b]
法拉利膜材的优点主要体现在以下几个方面:
1、提升建筑性能:高强度与耐用性使得法拉利膜材能够提升建筑的稳定性和安全性,延长使用寿命。透光性与美观性使得建筑内部光线充足、视野开阔,同时提升整体美观度。
2、降低施工成本:轻质特性使得运输和安装成本降低,施工效率提高。膜材的柔韧性使得施工更加灵活多变,能够适应各种复杂地形和结构要求。
3、节能环保:部分材料可回收利用,符合环保要求,减少了对环境的影响。良好的透光性能够减少室内照明需求,降低能耗。
4、广泛应用领域:
法拉利膜材不仅适用于建筑领域(如体育设施、商业设施、文化设施、交通设施等),还广泛应用于汽车及广告领域(如高档车辆贴膜保护和装饰、广告招贴等),展现出其多功能的特性。

综上所述,法拉利膜材以其高强度、耐用性、透光性、美观性、轻质灵活性以及环保可回收性等优点,在建筑、汽车及广告等多个领域发挥着重要作用。具体型号的选择应根据实际需求和应用场景进行综合考虑。
[url=http://www.mjgou.com/forum-17-1.html][size=6835][color=Red]法拉利膜材中国代理商 - 膜结构网[/color][/size][/url]
[图块] 获取块索引的XCLIP边界(Get the XCLIPped boundary of BlockReferences

该用户从未签到

主题

0

回帖

2

积分

新手上路

积分
2
发表于 2024-8-6 10:42:43 | 显示全部楼层
旭硝子ETFE膜材是一种高性能的建筑材料,由日本旭硝子公司生产。以下是对旭硝子ETFE膜材的详细分析:
[b]一、公司背景与实力[/b]
公司概况:旭硝子株式会社(AGC)是全球知名的材料制造商,成立于1907年,拥有超过百年的历史。作为全球第二大玻璃制品公司,旭硝子的产品不仅限于玻璃制品,还涵盖了ETFE膜材等多种高性能材料。
技术实力:旭硝子在材料科学领域具有深厚的技术积累,其ETFE膜材以其优异的性能和广泛的应用领域在市场上享有很高的声誉。
[b]二、产品特点[/b]
1、高性能:
耐候性:ETFE膜材具有极佳的耐候性,能够抵抗紫外线、高温、低温等极端天气条件的侵蚀,确保长期使用的稳定性。
透光性:ETFE膜材的透光率极高,可高达95%,能够最大限度地引入自然光,减少照明能耗。
自洁性:膜材表面具有自洁功能,雨水冲刷即可保持清洁,减少维护成本。
机械强度:ETFE膜材具有较高的抗拉强度和撕裂强度,能够承受较大的外力作用。
2、多功能性:
耐化学腐蚀:ETFE膜材具有良好的耐化学腐蚀性能,能够在多种化学环境中保持稳定。
防火性:部分ETFE膜材产品达到B1级防火标准,提高了建筑的安全性。
隔音与保温:通过合理的结构设计,ETFE膜材还能提供良好的隔音和保温效果。
3、环保性:
ETFE膜材可回收利用,符合绿色建筑和可持续发展的理念。
[b]三、应用领域[/b]
旭硝子ETFE膜材广泛应用于多个领域,包括但不限于:
建筑领域:作为体育场馆、展览馆、机场航站楼等大型公共建筑的屋顶和墙面覆盖材料,提供美观且耐用的解决方案。
工业领域:在污水处理、空气净化等环保设施中作为覆盖材料使用。
农业领域:用于温室覆盖材料,提高温室的保温性能和透光性。
[b]四、技术创新与发展[/b]
旭硝子不断投入研发资源,致力于ETFE膜材的技术创新和产品升级。通过引进先进的生产设备和工艺技术,不断提升产品的性能和品质。同时,旭硝子还积极与国内外知名科研机构和建筑设计师合作,共同推动ETFE膜材在各个领域的应用和发展。
[b]五、市场认可度与前景[/b]
旭硝子ETFE膜材凭借其优异的性能和广泛的应用领域在市场上赢得了广泛的认可。随着全球对绿色建筑和可持续发展的重视不断加深,旭硝子ETFE膜材的市场前景将更加广阔。未来,旭硝子将继续加大在技术创新和产品研发上的投入力度,为客户提供更加优质、高效、环保的建筑材料解决方案。
综上所述,旭硝子ETFE膜材是一种高性能、多功能的建筑材料,在建筑、工业、农业等多个领域具有广泛的应用前景。

 

 

 

 

[图块] 获取块索引的XCLIP边界(Get the XCLIPped boundary of BlockReferences
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 15:33 , Processed in 0.157055 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表