明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1129|回复: 1

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

[复制链接]
发表于 2020-4-4 16:17:43 | 显示全部楼层 |阅读模式
本帖最后由 shibayan 于 2020-4-4 16:19 编辑

如果通过块参照的Rotation属性来旋转,只会旋转块参照里面的普通实体,但属性不会跟着旋转。
如果通过块参照的ScaleFactors属性来缩放,也同样无法缩放属性。
旋转的例子如下图:
   
代码:
  1. Using tr As CADDS.Transaction = CADApp.DocumentManager.MdiActiveDocument.TransactionManager.StartTransaction
  2.      Dim blkTblRef As CADDS.BlockReference = tr.GetObject(selectedObjectID, CADDS.OpenMode.ForWrite)
  3.      blkTblRef.Rotation = 3.1415 / 2
  4.      tr.Commit()
  5. End Using


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2020-4-9 09:07:41 | 显示全部楼层
本帖最后由 poly168 于 2020-4-9 09:09 编辑

除了对块定行旋转外还要对属性进行旋转操作才行。   
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


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 06:39 , Processed in 0.135603 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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