• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            dwg trueconvert(dwg trueconvert怎么用)

            更新時間:2023-03-02 08:22:51 閱讀: 評論:0

            CAD VCL是一個高品質(zhì)多功能且含源碼的控件,它提供了幾個強大的類用于為您的Delphi/C++Builder應(yīng)用程序創(chuàng)建AutoCAD DXF, CGM, Hewlett-Packard PLT/HPGL, PDF和SVG文件。

            CAD VCL的特性:

            直接以AutoCAD DXF,Hewlett-Packard PLT/HPGL,CGM,PDF和SVG文件格式輸出與Borland Delphi和C++ Builder(從6到2010版本)完全兼容支持Unicode提供源代碼 CADSoftTools——CAD VCL常見問題解答

            Q1:是否能展示一個爆炸方塊的代碼?

            A:您將在下面找到所需的示例代碼:

            interfaceus..., CADImage, DXFConv, sgFunction, sgConsts;...implementation{$R *.dfm}procedure ExplodeInrt(ACADImage: TsgCADImage; AInrt: TsgDXFInrt);var I, J: Integer; vBlockEnt: TsgDXFEntity; vDXFInrt: TsgDXFInrt; vDXFLine: TsgDXFLine; vDXFLWPolyline: TsgDXFPolyline; vDXFCircle: TsgDXFCircle; vMatrix: TFMatrix; vPoint, vScale, vExtrusion: TFPoint; vAngle: Double;begin vMatrix := AInrt.GetMatrix; // Iterate through entities in the block for I := 0 to AInrt.Block.Count - 1 do begin vBlockEnt := AInrt.Block.Entities[I]; ca vBlockEnt.EntType of ceLine: // LINE entity begin // Create a copy of the entity which is inside the block vDXFLine := TsgDXFLine.Create; vDXFLine.AssignEntity(vBlockEnt); // Multiply coordinates of the created entity by the transformation matrix vDXFLine.Point := FPointXMat(vDXFLine.Point, vMatrix); vDXFLine.Point1 := FPointXMat(vDXFLine.Point1, vMatrix); ACADImage.Converter.Loads(vDXFLine); ACADImage.CurrentLayout.AddEntity(vDXFLine); end; ceLWPolyline: // LWPOLYLINE entity begin vDXFLWPolyline := TsgDXFLWPolyline.Create; vDXFLWPolyline.AssignEntity(vBlockEnt); for J := 0 to vDXFLWPolyline.Count - 1 do vDXFLWPolyline.Vertexes[J].Point := FPointXMat(vDXFLWPolyline.Vertexes[J].Point, vMatrix); ACADImage.Converter.Loads(vDXFLWPolyline); ACADImage.CurrentLayout.AddEntity(vDXFLWPolyline); end; ceCircle: // CIRCLE entity begin vDXFCircle := TsgDXFCircle.Create; vDXFCircle.AssignEntity(vBlockEnt); vDXFCircle.Point := FPointXMat(vDXFCircle.Point, vMatrix); vDXFCircle.Radius := DistanceFVector(AffineTransformPoint(MakeFPoint(0, vDXFCircle.Radius, 0), vMatrix)); ACADImage.Converter.Loads(vDXFCircle); ACADImage.CurrentLayout.AddEntity(vDXFCircle); end; ceInrt: // nested INSERT entity begin //ExplodeInrt(ACADImage, vSrcEnt as TsgDXFInrt); vDXFInrt := TsgDXFInrt.Create; vDXFInrt.AssignEntity(vBlockEnt); ExtractMatrixParams(FMatXMat(TsgDXFInrt(vBlockEnt).GetMatrix, vMatrix), vPoint, vScale, vExtrusion, vAngle); vDXFInrt.Point := vPoint; vDXFInrt.Scale := vScale; vDXFInrt.Extrusion := vExtrusion; vDXFInrt.Angle := vAngle; ACADImage.Converter.Loads(vDXFInrt); ACADImage.CurrentLayout.AddEntity(vDXFInrt); end; end; end; // Delete the INSERT after exploding ACADImage.Converter.RemoveEntity(AInrt, True); // Recalculate the CAD image extents ACADImage.GetExtents();end;

            Q2:關(guān)于處理包含3dsolids的Blocks時出現(xiàn)的問題

            問:我正在嘗試使用Delphi的CAD VCL導(dǎo)入器庫創(chuàng)建表面模型。我正在遵循3D Demo中的代碼來訪問模型中的實體,但在處理包含3dsolids的Blocks時我發(fā)現(xiàn)了一些問題。

            考慮2種不同的dxf模型,第一種是從圓柱體中減去棱鏡的3dsolid結(jié)果。第二個是僅包含先前3dsolid的塊。不幸的是我無法在此消息中附加模型,但您可以在此處獲取它們。

            第一個模型在3D演示中顯示沒有問題。我可以看到3dsolid使用三角形進行細分。但是,第二個模型我們簡單地做了一個塊3dsolid中沒有顯示3dsolid(空白輸出),并且在代碼中永遠不會到達三角形網(wǎng)格。

            到目前為止,我對塊沒有任何問題。通過使用Autoinrt = TRUE,塊中包含的實體以某種方式直接出現(xiàn)在具有正確轉(zhuǎn)換矩陣的實體列表中(FCADParams.ConvertMatrixCurrentInrtToWCS)。我在3dsolids上做錯了什么?有沒有辦法創(chuàng)建一個包含3dsolid實體的塊?

            答:在AutoCAD 2010中創(chuàng)建的示例DXF文件:我們創(chuàng)建了一個平行六面體3DSolid對象,選擇它并將其與指定的基點(COPYBASE命令)一起復(fù)制到剪貼板,將復(fù)制的對象粘貼為塊模型空間(PASTEBLOCK命令),然后將圖形保存為AutoCAD 2010 DXF文件。

            CAD3D演示項目正確顯示給定的DXF文件,這意味著可以顯示塊中的3DSolid(至少在您以上述方式創(chuàng)建時)。>>點擊查看示例演示

            提問者實際處理方法:

            在Autocad中創(chuàng)建塊然后插入它們的操作如下:

            使用BLOCK命令 - >彈出窗口,在塊中命名塊并在塊中選擇所需的對象 (成員可以是其他塊)和一個基點。使用INSERT命令 - >窗口彈出,您可以在其中選擇:要插入的塊, 插入點的縮放和旋轉(zhuǎn),以及塊的插入副本。

            Q3:關(guān)于找不到MeshBuilder.dll文件的問題

            問:顯示* .stp文件需要MeshBuilder.dll。但我無法做到,甚至CAD3D演示都會顯示TsgCommonBrepImageError異常'MeshBuilder.dll無法加載!'。怎樣才能實現(xiàn)這一點?

            答:CAD VCL需要MeshBuilder.dll和Open Cascade DLL來加載3D文件格式(STEP,IGES等)。這些庫附帶CAD VCL并位于以下文件夾中:

            Delphi ExternalLib OpenCascade win32 vc9 bin - 用于x32平臺的庫,

            Delphi ExternalLib OpenCascade win64 vc9 bin - 用于x64平臺的庫。

            您可以將.dll文件從其中一個文件夾復(fù)制到包含可執(zhí)行文件的文件夾(例如CAD3D.exe),或者,如果您希望它們位于其他路徑,請調(diào)用sgFunction.InitDefMeshBuilderDllPath()方法來定義應(yīng)用程序啟動時的MeshBuilder.dll路徑。在CAD3D演示項目中,此路徑定義如下:

            InitDefMeshBuilderDllPath(ExtractFilePath(Application.ExeName), 'Demos3DBin');

            InitDefMeshBuilderDllPath()方法實際上也是這樣,但也考慮了表示目標(biāo)平臺(x64或x32)的條件編譯符號SG_CPUX64:

            {$IFDEF SG_CPUX64} cnstMeshBuilderDllPath := vExePath + 'ExternalLibOpenCascadewin64vc9in';{$ELSE} cnstMeshBuilderDllPath := vExePath + 'ExternalLibOpenCascadewin32vc9in';{$ENDIF}

            如果您為一個目標(biāo)平臺(例如x32)編譯應(yīng)用程序,則可以使用帖子中的直接分配。

            Q4:關(guān)于排序?qū)嶓w的問題

            問:我有一些TsgCADCurvePolygon實體和TsgDXFinrt實體。在具有實心填充的CurvePolygons上繪制DXFInrts,有時CurvePolygon實體是在DXFinrts上繪制的,有時反之亦然。能給出一些用于排序?qū)嶓w的示例代碼嗎?

            正確時:

            不正確時:

            答:繪制順序取決于模型空間塊中的實體索引(名稱為'* MODEL_SPACE'的塊)。實體按以下順序繪制:實體[0],實體[1],實體[2]等,這意味著具有較高索引值的實體在具有較低索引值的實體之上繪制。請嘗試以下代碼:

            procedure SendEntitiesToBack(ACADImage: TsgCADImage; ALayerName: string; EntType: TsgCADEntities);var I, Count: Integer; vModelSpaceBlock: TsgDXFBlock; vDXFEntity: TsgDXFEntity;begin I := 0; Count := 0; vModelSpaceBlock := ACADImage.Converter.BlockByName('*MODEL_SPACE'); while I < vModelSpaceBlock.Count do begin vDXFEntity := vModelSpaceBlock.Entities[I]; if ((vDXFEntity.EntType = EntType) and (vDXFEntity.Layer.Name = ALayerName)) then begin Inc(Count); vModelSpaceBlock.InrtEntity(Count - 1, vDXFEntity); vModelSpaceBlock.DeleteEntity(I + 1); end; Inc(I); end;end;

            要首先繪制屬于“Koki_Grafiikka_Tausta”圖層的實體填充實體,您應(yīng)該按如下方式調(diào)用給定的例程,然后重新繪制CAD圖像。

            SendEntitiesToBack(vCADImage, 'Koki_Grafiikka_Tausta', ceCurvePolygon);

            Q5:關(guān)于使用包含3dFaces的塊保存為dwg格式時出錯的問題

            問:在嘗試將包含帶有3dFaces的塊的圖像導(dǎo)出為dwg或dxf格式時遇到了嚴(yán)重錯誤。嘗試打開文件時,AutoCAD中的錯誤是:

            從第877370行開始 讀取INSERT 時遇到以下錯誤:

            類AcDbEntity的類分隔符預(yù)期

            DXF輸入無效或不完整 - 繪圖被丟棄。

            使用代碼如下:

            function MakeSingleDTMFaces(pt1, pt2, pt3: TFPoint; blockName: string = 'Block'): TsgDXF3dFace;begin Result:= TsgDXF3dFace.Create; Result.Point:= pt1; Result.Point1:= pt2; Result.Point2:= pt3; Result.Point3:= pt3; Result.Layer:= DwgCADImage.Converter.LayerByName(blockName);end;procedure Create3DIfcFace(IfcObject: TIfcObjectStruct);var mesh3dFace: TsgDXF3dFace; P1: TFPoint; I, J: Integer; Step: Integer; vCount: Integer; pList: TList; vBlock: TsgDXFBlock; vInrt: TsgDXFInrt; layerName: string; bColor: TColor; ifcName: string; aColor: TAlphaColorRec; R,G,B,A: Int64;begin pList:= TList.Create; vBlock := TsgDXFBlock.Create; ifcName:= MakeValidIdent(IfcObject.Name); try layerName:= IfcObject.IfcType + '-' + ifcName; vBlock.Name := ifcName + '-.-' + IntToStr(IfcObject.Instance); vBlock.Layer := DwgCADImage.Converter.LayerByName(layerName); vBlock.Flags := 2; // Add vertices Step:= 0; vCount:= Length(IfcObject.Vertices) div 2; for I := 1 to (vCount div 3) do begin P1:= MakeFPoint(IfcObject.Vertices[step], IfcObject.Vertices[step + 1], IfcObject.Vertices[step + 2]); pList.Add(P1); step:= step + 6; end; try begin Step:= 0; vCount:= Length(IfcObject.IndicesForFaces); for I := 1 to (vCount div 3) do begin mesh3dFace:= MakeSingleDTMFaces(pList[IfcObject.IndicesForFaces[step]], pList[IfcObject.IndicesForFaces[step + 1]], pList[IfcObject.IndicesForFaces[step + 2]], layerName); if Assigned(Dwgan>

            以上是CAD VCL最新或最熱的問答,希望對你有所幫助。想要獲取更多CAD產(chǎn)品FAQ,可在下方評論區(qū)留言,或進入CADSoftTools技術(shù)問答集錦 。

            本文發(fā)布于:2023-02-28 21:01:00,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1677716571100475.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。

            本文word下載地址:dwg trueconvert(dwg trueconvert怎么用).doc

            本文 PDF 下載地址:dwg trueconvert(dwg trueconvert怎么用).pdf

            標(biāo)簽:dwg   trueconvert
            相關(guān)文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網(wǎng)旗下知識大全大全欄目是一個全百科類寶庫! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 性男女做视频观看网站| 国产成人亚洲综合91精品| 人妻少妇偷人无码视频| 十四以下岁毛片带血a级| 91亚洲国产三上悠亚在线播放| 丰满人妻一区二区三区无码AV| 脱了老师内裤猛烈进入| 99久久免费国产精品| 国产午夜福利一区二区三区| 国产精品一区二区黄色片| 激情 自拍 另类 亚洲| 日韩午夜福利片段在线观看| 日韩AV高清在线看片| 9久9久热精品视频在线观看| 国产精品久久久久不卡绿巨人| 亚洲国产韩国欧美在线| 亚洲男人AV天堂午夜在| 中文字幕日韩精品亚洲七区| 免费午夜无码片在线观看影院| 精品亚洲欧美高清不卡高清| 少妇尿尿一区二区在线免费 | 国产欧美VA天堂在线观看视频| 国产av无码专区亚洲awww| 国产精品中文字幕综合| 国产一区二区精品网站看黄| 国模精品视频一区二区三区| 成A人片亚洲日本久久| 成人自拍小视频在线观看| 花式道具play高h文调教| 1024你懂的国产精品| 成年美女黄网站色大片免费看| 丰满少妇熟女高潮流白浆| 亚洲精品一区二区天堂| 好男人2019在线视频播放观看| 国产网友愉拍精品视频手机| 国内久久久久久久久久| 18禁亚洲一区二区三区| 亚洲熟妇丰满多毛xxxx| 日韩一区二区三区不卡片| 欧美日韩高清在线观看| 这里只有精品在线播放|