shibayan 发表于 2020-4-4 16:17:00

怎么旋转以及缩放带属性的块参照?

如果通过块参照的Rotation属性来旋转,只会旋转块参照里面的普通实体,但属性不会跟着旋转。
如果通过块参照的ScaleFactors属性来缩放,也同样无法缩放属性。
旋转的例子如下图:


   


代码:
Using tr As CADDS.Transaction = CADApp.DocumentManager.MdiActiveDocument.TransactionManager.StartTransaction
   Dim blkTblRef As CADDS.BlockReference = tr.GetObject(selectedObjectID, CADDS.OpenMode.ForWrite)
   blkTblRef.Rotation = 3.1415 / 2
   tr.Commit()
End Using

所以怎么旋转以及缩放带属性的块参照了?

poly168 发表于 2020-4-9 09:07:00


除了对块定行旋转外还要对属性进行旋转操作才行。   
pt1 = blkTblRef.Position
y = blkTblRef.Rotation
blkTblRef.Rotation = math.pi/2
For Each id1 As ObjectId In blkTblRef.AttributeCollection
att = Trans.GetObject(id1, OpenMode.ForWrite)
mat = Matrix3d.Rotation(math.pi/2 - y, New Vector3d(0, 0, 1), pt1)
att.TransformBy(mat)
Next
页: [1]
查看完整版本: 怎么旋转以及缩放带属性的块参照?