找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 630|回复: 5

[求助] [求助]:我想用编程的方法修改尺寸箭头为什么不行?

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

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

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

×
我想用编程的方法直接调用尺寸标注的DXF组码修改尺寸箭头,可是不知道为什么始终不行。代码如下:请高手指点。

           

  1.   [FONT=courier new]
  2. (defun c:jtxg ()
  3. (setq ys (getint"选定箭头样式:1实心闭合 2点 3倾斜 4小点 5 建筑标记:<1>"))
  4. (if (= ys "") (setq ys 1))
  5.   (if (= ys 1) ( setq yangs "."))
  6.   (if        (= ys 2) ( setq yangs "_DOT"))
  7.   (if        (= ys 3) ( setq yangs "_OBLIQUE"))
  8.   (if        (= ys 4) ( setq yangs "_DOTSMALL"))
  9.   (if        (= ys 5) ( setq yangs "_ARCHTICK"))
  10. (setq ss (entget (car (entsel))'("dimsion")))
  11. (setq mc (cdr (assoc 3 ss)))
  12. (setq ls (tblsearch "dimstyle" mc))
  13. (SETQ ls (SUBST
  14.             (CONS 5 yangs)
  15.             (ASSOC 5 ls)
  16.             ls
  17.              ))
  18. (SETQ ls (SUBST
  19.             (CONS 6 yangs)
  20.             (ASSOC 6 ls)
  21.             ls
  22.              ))
  23. (SETQ ls (SUBST
  24.             (CONS 7 yangs)
  25.             (ASSOC 7 ls)
  26.             ls
  27.              )      
  28. )                  
  29.   )        
  30.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-29 18:27:45 | 显示全部楼层
直接使用command,将每个标注的肩头全部OVERRIDE

(command "_.dim" "_override" "_dimblk" new "_dimblk1" new "_dimblk2" new "" sset ...)

单纯改标注类型的设定,连DDIM有时都会有点怪怪的提示。使用LISP肯定容易出错。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-7-29 22:38:30 | 显示全部楼层
5
DIMBLK(已废弃,现在为对象 ID)

6
DIMBLK1(已废弃,现在为对象 ID)

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

使用道具 举报

发表于 2004-7-30 05:26:10 | 显示全部楼层
TRY THIS:
[php]
(defun test (atn)
  ;(vl-load-com)
  (setq ss (ssget '((0 . "DIMENSION"))) n 0)
  (while (< n (sslength ss))
    (setq obj (vlax-ename->vla-object (ssname ss n)))
    (vla-put-arrowhead1type obj atn)
    (vla-put-arrowhead2type obj atn)
    (setq n (1+ n))
  )
)

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

使用道具 举报

 楼主| 发表于 2004-7-30 09:36:32 | 显示全部楼层
最初由 lsjjm 发布
[B]TRY THIS:
[php]
(defun test (atn)
  ;(vl-load-com)
  (setq ss (ssget '((0 . "DIMENSION"))) n 0)
  (while (< n (sslength ss))
    (setq obj (vlax-ename->vla-object (ssname ss n)))
    (vla-put-a... [/B]

谢谢,这段代码的确管用。看来VL函数的功效的确不凡,还得学学。另外请问实心箭头的 arrowheadtype code number 是什么?
  同时也谢谢楼上各位的热心指点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-30 11:07:02 | 显示全部楼层
最初由 xiaping 发布
[B]...另外请问实心箭头的 arrowheadtype code number 是什么?
[/B]

是 0
请参考:
0 Closed filed
1 Closed blank
2 Closed
3 Dot
4 Architectual tick
5 Oblique
6 Open
...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 08:30 , Processed in 0.196714 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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