乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 52|回复: 2

[编程交流] 动态块位置信息

[复制链接]

16

主题

50

帖子

34

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 06:14:28 | 显示全部楼层 |阅读模式
大家好,
好的,我有一个动态块(在我的例子中是绿色的),它构建在x-y平面上。我可以改变它的长度,宽度,延伸它,围绕基点旋转它。雅达雅达雅达。我工作的公司需要的一系列功能。当我们将其插入3D模型时,我们将其定位,使Y轴成为Z轴,X轴可以位于X-Y平面内的任何位置。我试图创建一个lisp,将其相对于第二个块(在我的示例中为红色)移动。有人知道获取动态块旋转信息的方法吗。我不能使用misc部分的“旋转”,因为它在块x-y平面而不是模型x-y平面中操作。
 
我在下面用Axis创建了一个图像。希望能够澄清。这些不是实际的块,只是示例形状。
 
希望有人能帮忙。我试过几件事都没有成功。
 
071428j77aqpdpph8e5txx.png
回复

使用道具 举报

16

主题

50

帖子

34

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:06:45 | 显示全部楼层
好的,在做了更多的研究之后,我想我需要得到每个对象的变换矩阵。这显然可以使用“nentselp”获得,但有没有办法使用它来获得一组动态块实体的一批转换对象?Nentselp似乎只接受选择点。
回复

使用道具 举报

16

主题

50

帖子

34

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 07:41:16 | 显示全部楼层
如果有人想做类似的事情。。。这是我cam编写的代码的一部分。希望这对将来的人有所帮助。还可以修改动态块的配置方式,动态块编辑器中的Z轴将成为构成“法线”值的单位向量的参考。所以我必须把单位向量绕z轴旋转90度。
 
  1. (setq pl_set (ssget '((0 . "INSERT"))))
  2. (setq pl_set_lgth (SSLENGTH pl_set))
  3. (setq br_item 0)
  4. (repeat pl_set_lgth
  5.         (setq en (SSNAME pl_set br_item))               
  6.         (setq entvla (vlax-Ename->Vla-Object en))
  7.         (setq unitVec (vlax-get entvla 'normal))
  8.         (setq InsrtPnt (vlax-get entvla 'InsertionPoint))
  9.         (if (getdynpropvalue entvla "BRCKT_ELEV X")
  10.                 (progn
  11.                         (setq brace_dist (abs (getdynpropvalue entvla "BRCKT_ELEV X")))
  12.                         (princ "\n unitVec is:") ;to be removed
  13.                         (princ unitVec) ;to be removed
  14.                         (setq i_val (car unitVec))
  15.                         (setq j_val (cadr unitVec))
  16.                         (setq i_val_n (* 1.0 j_val))
  17.                         (setq j_val_n (* -1.0 i_val))
  18.                         (setq z_rot_rad (atan j_val_n i_val_n))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 18:40 , Processed in 0.362708 second(s), 61 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表