找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1945|回复: 8

[求助] [求助]:使用entmod方法,怎么改变属性块插入点?

[复制链接]
发表于 2006-11-7 17:29:55 | 显示全部楼层 |阅读模式

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

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

×
使用entmod方法,怎么改变属性块插入点?因为使用了grread,想使整个属性块一起移动。程序中建立了序号球的属性块,用entmod 改变10 dxf码的对应坐标,但只能使圆圈移动,不能使文字一起移动?请大家指点一下!部分代码:
[php]
        (SETQ ENT (ENTGET VOBJ))
        (SETQ ENT (SUBST (CONS 10 NEWCENPT) (ASSOC 10 ENT) ENT))
        (ENTMOD ENT)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 6个

财富等级: 恭喜发财

发表于 2006-11-7 20:41:16 | 显示全部楼层
Dallas_whu 呵呵1你老兄好像对entmake,endmod块很有兴趣哈!
这几个月里见你所发之贴全是这方面的哦!
有什么新的成果多公布一点哈!
方法多种择最佳用之~!~
属性块用entmod方法不太好使的!
用vba-put-**来搞定也是一样的啦!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-7 22:36:47 | 显示全部楼层
呵呵,fsxm兄见笑了,现在搞的就是一个带属性的序号球,有预览的功能,基本差不多了,就是鼠标移动的时候,属性文字不能跟着圆圈一起移动。因为自己觉得entmod执行速度比较快,所以想用这种方法,其实用move或VLA-MOVE也可以实现,但是总觉得应该掌握entmod方法。更改属性的话还是vla-put-**比较方便,不知vla-put-**有没有更改插入点的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-11-8 08:57:13 | 显示全部楼层
解決此問題也不是沒有辦法,只是比較囉嗦
提供一個思路: 用entnext可以提取到全部的屬性文字,然后再提取屬性文字的插入點,根據你現在的點坐標和原來沒有移動前坐標的差量,計算出屬性文字移動后的坐標。然后也用entmod替換更新就可以。。

最簡單的方法是用vla-put-InsertionPoint 方法。(vla-put-InsertionPoint  obj  InsertionPoint  )此方法不會出現屬性文字不動的情況。
其實用vla-move也未嘗不可以只要達到目的就行。不必拘泥于某種方法。呵呵,不管什么貓能抓老鼠就好。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-11-8 09:49:48 | 显示全部楼层
这是以前做粗糙度属性快的程序,思路可以参考。
[php]
(defun c:test ()
  (if (or (= val nil)(= val ""))(setq val 1.6))
  (setq th (* (getvar "dimtxt")(getvar "dimscale")))
  (setq l (/ (* 1.4 th) 0.866))
  (vl-cmdf "pline" (polar '(0 0)(/ pi 3) l)(polar '(0 0)(* 2 (/ pi 3)) l)
                   '(0 0) (polar '(0 0)(/ pi 3)(* 2 l)) "")  
  (setq pl (entlast))
  (setq A (rtos (* (getvar "CDATE") 1E8)))
  (vl-cmdf "block" A '(0 0) pl "")
  (vl-cmdf "insert" A '(0 0) "" "" "")
  (setq blk (entlast))
  (addatttoblock blk th "Value" (list 0 (* th 2.2)) "T1" val)
  (setq blk (entlast))
  (setq llobj (vlax-ename->vla-object blk))
  (setq loop t)
  (prompt "\nPick Start Point:")
  (while loop
    (setq p (grread T))
    (setq k (car p)
          p (cadr p))
    (if        (= k 3)(setq loop nil))
    (vla-put-insertionpoint llobj (vlax-3d-point p))
  )  
  (if (setq ee (ssget "c" (polar p (/ pi 4) 4.)(polar p (* 1.25 pi) 4.)));if1
    (progn;p1
      (setq ee (ssdel (vlax-vla-object->ename llobj) ee))
      (if (= (dxf 0 (ssname ee 0)) "DIMENSION");if2
        (progn
          (vl-cmdf "explode" (ssname ee 0))
          (setq dd (ssget "c" (polar p (/ pi 4) 4.)(polar p (* 1.25 pi) 4.)))
          (pt (ssname dd 0))
          (vl-cmdf "undo" 1 "")
        );p
        (pt (ssname ee 0))
      );if2
      (setq p1 (inters pt1 pt2 p (polar p (+ (angle pt1 pt2)(/ pi 2)) 1) nil))
      (setq p1 (inters pt1 pt2 p (polar p (+ (angle pt1 pt2)(/ pi 2)) 1) nil))
      (vla-put-insertionpoint llobj (vlax-3d-point p1))
      (vla-put-rotation llobj (+ (angle p p1)(/ pi 2)))
      (setq m (last (assoc "T1" (getattributes blk))))
      (setq attobj (vlax-ename->vla-object m))
      (if (equal (angle p p1)(/ pi 2) 0.0001)(vla-put-rotation attobj 0))
      (if (equal (angle p p1) pi 0.0001)(vla-put-rotation attobj (/ pi 2)))
    );p1
  );if1
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2006-11-9 17:12:11 | 显示全部楼层

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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 20:07 , Processed in 0.260680 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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