找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 647|回复: 5

[求助]:线宽与厚度的匹配

  [复制链接]
发表于 2005-11-18 19:25:42 | 显示全部楼层 |阅读模式

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

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

×
我不知道370代表什么?是不是他就是含有线宽数据的子集的关键字呢?
如果是那样,那么含有厚度的数据的子集的关键自由是什么呢?
把t改成lw,把lw改成t,是否就可实现把厚度值付给线宽值?
我这样试了一下,系统报错,我就不知道怎么解决了。
xyp1964大哥,能告诉我吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-11-18 23:49:24 | 显示全部楼层
理论上是这样的(没仔细咂摸),关键还得看是否实际可行。
把程序贴出来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-19 08:47:11 | 显示全部楼层

(defun c:xkhd ()
  (setq        ss (ssget "X" '((0 . "text,CIRCLE,ELLIPSE,*LINE,ARC")))
        i  -1
  )
  (while (setq s1 (ssname ss (setq i (1+ i))))
    (if        (setq lw (*(cdr (assoc XYZ (entget s1))) 0.01))
             (command "pedit" s1 "" "w" lw "")
    )
  )
  (princ)
)
(princ"\n命令 : xkhd  (线宽厚度)")
(princ)
里面的XYZ是一个关于厚度的关键字。
但我这样写还有一个问题,如果遇到直线,使用pedit时,他会提示是否转为多段线,选择“是”,然后才能选择线宽,然后才能修改。
我想应该加一个判断语句,如果是多段线就直接修改线宽
如果是直线,先转换为多段线,再修改线宽
如果是文字(text),那就用另一种方法修改(我现在还找不到修改文字线宽的命令或方法)
xyp1964大哥,能不能帮我解决呢?
还有像XYZ这样的关键字在那里能查到呢?
急盼回复!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-19 10:27:22 | 显示全部楼层
  1. [FONT=courier new]
  2. (load "xyp_lib")
  3. ;|加载通用函数(可在签名栏直接下载)
  4. 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
  5. 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
  6. ★1·在acad.lsp中增加(load"xyp_lib")
  7. ■2·在每个程序内增加(load"xyp_lib")
  8. ■3·在command下,输入(load"xyp_lib")
  9. ■4·在菜单.mnl中增加(load"xyp_lib")
  10. ■5·将xyp_lib.vlx文件直接拽到cad屏幕
  11. [COLOR=red] ★通用函数下载地址:[/COLOR]
  12. [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
  13. |;

  14. ;;;线厚度匹配线宽
  15. (defun c:xkhd ()
  16.   (setq        ss (ssget '((0 . "CIRCLE,ELLIPSE,*LINE,ARC")))
  17.         i  -1
  18.   )
  19.   (while (setq s1 (ssname ss (setq i (1+ i))))
  20.     (if        (setq lw (* (cdr (assoc 39 (entget s1))) 0.01)) ;39厚度
  21.       (xyp-put-CurveWeight s1 lw)
  22.     )
  23.   )
  24.   (princ)
  25. )
  26. (princ "\n命令 : xkhd (线宽厚度)")
  27. (princ)[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-19 11:07:59 | 显示全部楼层

我按你说的方法试了,但程序不能运行,
是不是你编的xyp.lib不能再r14下运行。
我现在是在r14下运行程序的,
因为只有把厚度值付给线宽,那么屏幕才能显示线的宽度。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-22 00:58 , Processed in 0.180020 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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