cad commondialog控件添加不上_【CADSoftTools技术问答】从绘制到阅览,精选最实用的CAD工具...

本文整理了CADSoftTools旗下CAD .NET、CAD VCL、ABViewer等产品的常见技术问答,包括如何导出选定区域、展示爆炸方块的代码以及ASCII DXF格式的问题解答,旨在帮助用户解决操作中遇到的难题。
摘要由CSDN通过智能技术生成

CAD是在工业与建筑领域运用非常广泛的绘图软件,CADSoftTools公司旨在帮助客户更方便有效地处理设计与项目文档。旗下多款CAD控件和软件也是受到广泛关注,如CAD .NET、CAD VCL、ABViewer等等。

在实际的操作中,我们或多或少的都会遇到各种“疑难杂症”。别慌!小编特意为大家整理了近期CAD技术者的技术问答,免去了你四处搜索的繁琐过程。在慧都,也许就有你想要的所有答案!

CADSoftTools——CAD.NET常见问题解答

Q:关于使用SaveToFile和SaveAsDXF导出(或保存)部分区域的问题

问:需要确定的是:是否没有方法来裁剪或使用SaveAsDXF在选定区域的DXF中获得完整详细的导出?

答:当涉及到DXF导出时,您不能保存选定的区域,您可以保存某些CAD实体(例如CADImage.SelectedEntities):

·创建一个新的CADImage实例

CADImage cadImage = new CADImage();cadImage.InitialNewImage();

·使用CADEntity后代类的构造函数和方法CADEntity.AssignEntity创建实体的副本,然后将创建的副本添加到新的CADImage。或者使用CADImage.CopyEntitiesCADImage.PasteEntities方法将实体复制/粘贴到新的CADImage中。

更多CAD.NET精彩问答尽在 【FAQ】CAD .NET热门技术问答精选合集-控件新闻-慧都网


CADSoftTools——CAD.VCL常见问题解答

Q:是否能展示一个爆炸方块的代码?

A:您将在下面找到所需的示例代码:

interfaceuses..., CADImage, DXFConv, sgFunction, sgConsts;...implementation{$R *.dfm}procedure ExplodeInsert(ACADImage: TsgCADImage; AInsert: TsgDXFInsert);var I, J: Integer; vBlockEnt: TsgDXFEntity; vDXFInsert: TsgDXFInsert; vDXFLine: TsgDXFLine; vDXFLWPolyline: TsgDXFPolyline; vDXFCircle: TsgDXFCircle; vMatrix: TFMatrix; vPoint, vScale, vExtrusion: TFPoint; vAngle: Double;begin vMatrix := AInsert.GetMatrix; // Iterate through entities in the block for I := 0 to AInsert.Block.Count - 1 do begin vBlockEnt := AInsert.Block.Entities[I]; case 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; ceInsert: // nested INSERT entity begin //ExplodeInsert(ACADImage, vSrcEnt as TsgDXFInsert); vDXFInsert := TsgDXFInsert.Create; vDXFInsert.AssignEntity(vBlockEnt); ExtractMatrixParams(FMatXMat(TsgDXFInsert(vBlockEnt).GetMatrix, vMatrix), vPoint, vScale, vExtrusion, vAngle); vDXFInsert.Point := vPoint; vDXFInsert.Scale := vScale; vDXFInsert.Extrusion := vExtrusion; vDXFInsert.Angle := vAngle; ACADImage.Converter.Loads(vDXFInsert); ACADImage.CurrentLayout.AddEntity(vDXFInsert); end; end; end; // Delete the INSERT after exploding ACADImage.Converter.RemoveEntity(AInsert, True); // Recalculate the CAD image extents ACADImage.GetExtents();end;

更多CAD.VCL精彩问答尽在 【FAQ】CAD VCL热门技术问答精选合集-控件新闻-慧都网


CADSoftTools——ABViewer常见问题解答

Q:关于ASCII DXF格式

问:当将图纸导出到DXF时,无论我指定哪个版本,都无法在我使用的任何软件中读取它(PADS,Altium,Pulsonix,LibreCAD,...)。当查看文件时,第一个line是“999”,删除该行没有用。想问有什么是错了吗?

答:ABViewer创建了兼容AutoCAD的DXF文件。尝试使用AutoCAD或DWG TrueView打开输出DXF图形。

更多ABViewer精彩问答尽在 【FAQ】ABViewer热门技术问答精选合集-控件新闻-慧都网


想要高质量、高效率、低成本完成专业的CAD编辑与预览吗?良心推荐:ABViewer——一款简单实用的CAD文档管理工具。

b451ac10516b32420171a69bfd374c45.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值