找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 839|回复: 12

[求助] [求助]:如何获得多重嵌套块最内层块的插入点?

[复制链接]
发表于 2005-4-15 21:01:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
如何获得多重嵌套块最内层块的插入点?限AUTOLISP。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-4-17 11:29:51 | 显示全部楼层
(command "explode")
炸到有那个块为止.

如果从块表开始查,恐怕要写一大堆代码了.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-17 12:40:03 | 显示全部楼层
(VLA-INVOKE OBJ 'EXPLODE)
中的元素
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-18 01:13:55 | 显示全部楼层
最初由 aeo 发布
[B](command "explode")
炸到有那个块为止.

如果从块表开始查,恐怕要写一大堆代码了. [/B]


我说的是编程.以前写了一个,最近才发现不行.可能是从OCS到UCS的坐标转换的问题.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-18 01:48:11 | 显示全部楼层
最好是就程序来讨论
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-20 16:41:03 | 显示全部楼层
以下是我获取嵌套块的插入点的有问题的子程序:


;;;获得块插入点,考虑了嵌套块情况;
;;;---------------------------------------------------------------
(DEFUN GETIPT (ENNAME / BLKNAME IPT N SUB SUBLIST)
  (SETQ BLKNAME (GETDXF ENNAME 2))
  (SETQ IPT (GETDXF ENNAME 10))
  (SETQ N 0)
  (IF (NULL (GETDXF ENNAME 66))
    (PROGN
      (WHILE BLKNAME
        (PROGN
          (SETQ N (1+ N))
          (SETQ SUB (TBLSEARCH "block" BLKNAME))
          (SETQ SUBLIST (ENTGET (CDR (ASSOC -2 SUB))))
          (IF (AND (EQUAL (CDR (ASSOC 0 SUBLIST)) "INSERT")
                   (/= (SUBSTR (CDR (ASSOC 2 SUBLIST)) 1 1) "*")
              )
            (PROGN
              (SETQ BLKNAME (CDR (ASSOC 2 SUBLIST)))
              (SETQ IPT
                     (LIST (+ (CAR (CDR (ASSOC 10 SUBLIST))) (CAR IPT))
                           (+ (CADR (CDR (ASSOC 10 SUBLIST))) (CADR IPT))
                     )
              )
            )
            (SETQ BLKNAME NIL)
          )
        )
      )
    )
  )
  IPT
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-4-20 18:51:28 | 显示全部楼层
先说说有什么问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-4-20 19:11:13 | 显示全部楼层
先学学OCS、ECS、WCS吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-21 11:06:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
问题是得到的不是最内层块的插入点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-4-21 12:36:22 | 显示全部楼层
看看8楼的话
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-4-22 00:12:16 | 显示全部楼层
最初由 LADESIGNER 发布
[B]以下是我获取嵌套块的插入点的有问题的子程序:


;;;获得块插入点,考虑了嵌套块情况;
;;;---------------------------------------------------------------
(DEFUN GETIPT (ENNAME / BLKNAME IPT N SUB SUBL... [/B]


;;blocktable
先从块表定义里找块的定义点p1
块表定义里的你的子块的点p2
那么相对来说: 为 p2 - p1 = p0

;;insert
插入到图中后,插入点p3
如果是x y z都为1,方向为0 --> 这时为 p3 + p0

如果x y z不是0(先假定方向为0)
那么应该为:(list (* x(car p0))(* y(cadr p0)(* z(caddr p0)) + p3

再把这一点饶p3转过你的块的角度就是最后的点.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-4-22 00:21:16 | 显示全部楼层
忘记了一点:如果块定义里的子块还套在块里,
那么先把它相对于它的上层块,转化出来,方法同上。
一直到最外面的块定义为止.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-25 12:47:56 | 显示全部楼层
慢慢消化吧,有点看不懂。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 03:53 , Processed in 0.285571 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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