找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1460|回复: 7

[原创]:这个LSP程序有点怪

[复制链接]
发表于 2008-12-19 10:35:57 | 显示全部楼层 |阅读模式

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

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

×
很简单的,就是画圆的中心线;可是为什么有时候画的是两条直径啊,我明明设定了长度的。代码:

(defun c:zxx()
(setvar "cmdecho" 0)
(setq en(entsel "选取一个圆:"))
(setq en_data(entget(car en)))
(setq rr(assoc 40 en_data))
(setq r(cdr rr))
(setq r(+ r (/ r 11.1) 2))
(setq cp(cdr(assoc 10 en_data)))
(setq pe(polar cp 0 r))
(setq pn(polar cp (* 0.5 pi) r))
(setq pw(polar cp pi r))
(setq ps(polar cp (* 1.5 pi) r))
(command "line" pe pw "")
(command "line" pn ps "")
(princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2008-12-19 10:48:03 | 显示全部楼层
  1. (defun c:zxx( /  en en_data r cp pe pn pw ps)
  2.   (setvar "cmdecho" 0)
  3.   (setq en (entsel "选取一个圆:")
  4.         en_data (entget (car en))
  5.         r (cdr (assoc 40 en_data))
  6.         r (+ r (/ r 11.1) 2)
  7.         cp (cdr(assoc 10 en_data))
  8.         pe (polar cp 0 r)
  9.         pn (polar cp (* 0.5 pi) r)
  10.         pw (polar cp pi r)
  11.         ps (polar cp (* 1.5 pi) r)
  12.    )
  13.    (command "_.line" "non" pe "non" pw "" "_.line" "non" pn "non" ps "")
  14.    (princ)
  15. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2008-12-19 13:03:29 | 显示全部楼层
最初由 fedd 发布
[B]试了,不行啊,   :( [/B]

  1. (defun c:zxx (/ en en_data rr cp pe pn pw ps)
  2.   (setvar "cmdecho" 0)
  3.   (if (setq en (entsel "选取一个圆:"))
  4.     (progn
  5.       (setq en_data (entget (car en)) ;_ dxf list
  6.             rr            (cdr (assoc 40 en_data)) ;_ Radius
  7.             cp            (cdr (assoc 10 en_data)) ;_ center point
  8.             pe            (polar cp 0 rr)
  9.             pn            (polar cp (* 0.5 pi) rr)
  10.             pw            (polar cp pi rr)
  11.             ps            (polar cp (* 1.5 pi) rr)
  12.       )
  13.       (command "line" "_non" pe "_non" pw "")
  14.       (command "line" "_non" pn "_non" ps "")
  15.     )
  16.   )
  17.   (princ)
  18. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 13:56:47 | 显示全部楼层
我要画的是比直径稍微长一点的中心标志,而且是两条直线(能画到中心线层那是算你牛),看得到的。请运行一下我那个代码。不过还是谢谢了,


好奇怪啊,按理说我写的程序没有问题啊,谁能告诉我这个是为什么呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2008-12-19 14:03:40 | 显示全部楼层

  1. (defun c:zxx (/ en en_data rr cp pe pn pw ps)
  2.   (setvar "cmdecho" 0)
  3.   (if (setq en (entsel "选取一个圆:"))
  4.     (progn
  5.       (setq en_data (entget (car en)) ;_ dxf list
  6.             rr            (* 1.2 (cdr (assoc 40 en_data))) ;_ Radius
  7.             cp            (cdr (assoc 10 en_data)) ;_ center point
  8.             pe            (polar cp 0 rr)
  9.             pn            (polar cp (* 0.5 pi) rr)
  10.             pw            (polar cp pi rr)
  11.             ps            (polar cp (* 1.5 pi) rr)
  12.       )
  13.       (command ".layer" "m" "zxx" "c" "3" "" "")
  14.       (command "line" "_non" pe "_non" pw "")
  15.       (command "line" "_non" pn "_non" ps "")
  16.       (command "_layerp" )
  17.     )
  18.   )
  19.   (princ)
  20. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 14:09:31 | 显示全部楼层
错误:函数被取消,还是不行啊,你自己运行了吗?难道是我的CAD软件有问题?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-12-22 01:04:00 | 显示全部楼层
最初由 fedd 发布
[B]错误:函数被取消,还是不行啊,你自己运行了吗?难道是我的CAD软件有问题? [/B]
最初由 fedd 发布
[B](能画到中心线层那是算你牛) [/B]



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 05:57 , Processed in 0.423141 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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