CAD复制到原坐标不显示问题解决方法

有时CAD复制粘贴图形后,图形并不显示,这个问题困扰我好久,现在把我自己已知的解决方法汇总如下:
1.复制之前为组,先把组解散,只把需要的复制粘贴;
2.图层未打开,打开图层管理器,打开图层即可;
3.有时粘贴前目标文件已存在相同名字的组,可以把复制的文件图层名称更改,然后再复制粘贴。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 AutoCAD 中,将 CAD 块内实体坐标转换为当前显示坐标可以使用 `vla-TransformCoordinates` 方法。该方法可以将一个或多个 3D 点从对象坐标系转换为世界坐标系或用户坐标系。 下面是一个示例代码,演示如何将块内实体的坐标转换为当前显示坐标: ```vb Sub BlockCoordToDisplayCoord() Dim objBlock As AcadBlockReference Set objBlock = ThisDrawing.ModelSpace.InsertBlock(CoordToPoint(0, 0), "MyBlock", 1#, 1#, 1#, 0#) ' 获取块内实体的顶点坐标 Dim arrVertices As Variant arrVertices = objBlock.GetAttributes() ' 定义坐标变换矩阵 Dim acMatrix As Variant acMatrix = objBlock.CoordinateSystem ' 将坐标转换为世界坐标系 Dim arrWorldCoords As Variant arrWorldCoords = objBlock.TransformCoordinates(acMatrix, arrVertices, acWorldSpace) ' 将世界坐标系转换为当前显示坐标系 Dim arrDisplayCoords As Variant arrDisplayCoords = objBlock.TransformCoordinates(acMatrix, arrWorldCoords, acOCS) ' 输出坐标 Dim i As Long For i = LBound(arrDisplayCoords) To UBound(arrDisplayCoords) Step 3 Debug.Print "X: " & arrDisplayCoords(i) Debug.Print "Y: " & arrDisplayCoords(i + 1) Debug.Print "Z: " & arrDisplayCoords(i + 2) Next i End Sub Function CoordToPoint(ByVal x As Double, ByVal y As Double, Optional ByVal z As Double = 0) As AcadPoint Dim acPt As New AcadPoint acPt.X = x acPt.Y = y acPt.Z = z Set CoordToPoint = acPt End Function ``` 在上面的示例代码中,我们首先在模型空间中插入了一个块,并获取了块内实体的顶点坐标。然后,我们定义了一个坐标变换矩阵,将坐标转换为世界坐标系,并最终将世界坐标系转换为当前显示坐标系。最终,我们输出了转换后的坐标。 请注意,上述示例代码仅供参考,您需要根据您的具体情况进行修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值