找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 875|回复: 10

[求助] [求助]:lsp问题出在哪里?

[复制链接]
发表于 2005-10-7 18:02:46 | 显示全部楼层 |阅读模式

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

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

×
  1. (defun c:test(/ b ss n k en en_data name_list name cent rad)
  2.      (setq b (getint "多边行的边数:"))
  3.      (setq ss (ssget))
  4.      (setq n 0)
  5.      (setq k 0)
  6.    (repeat (sslength ss)
  7.        (setq en (ssname ss n))
  8.        (setq en_data (entget  en))
  9.        (setq name_list (assoc 0 en_data))
  10.        (setq name (cdr name_list))
  11.       (if (= name "CIRCLE")
  12.          (progn
  13.             (setq cent (cdr (assoc 10 en_data)))
  14.             (setq rad (cdr (assoc 40 en_data)))
  15.             (command "polygon" b cent "i" rad )
  16.             (setq n (+ 1 n))
  17.          )
  18.        )
  19.     (setq k (+ 1 k))
  20.    )
  21. (princ (strcat "选择物体的个数=" (itoa k)))
  22. (princ (strcat "\n其中圆的个数=" (itoa n)))
  23. (princ)

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

已领礼包: 593个

财富等级: 财运亨通

发表于 2005-10-7 18:14:03 | 显示全部楼层
比较一下

  1. (defun c:test (/ b ss k en en_data cent rad oldos)
  2.   (if (and (setq b (getint "多边行的边数:"))
  3.            (setq ss (ssget '((0 . "circle")))) ;_过滤
  4.       ) ;_条件
  5.     (progn
  6.       (setq k (sslength ss) ;_选择集长度
  7.             n 0 ;_计数
  8.             oldos (getvar "osmode");_保存当前捕捉模式
  9.       )
  10.       (setvar "cmdecho" 0);_关闭命令行回显
  11.       (repeat k
  12.         (setq en      (ssname ss n)
  13.               en_data (entget en)
  14.         )
  15.         ;;(setq name_list (assoc 0 en_data))
  16.         ;;(setq name (cdr name_list))
  17.         ;;(if (= name "CIRCLE")
  18.         ;;  (progn
  19.         (setq cent (cdr (assoc 10 en_data));_圆心
  20.               rad  (cdr (assoc 40 en_data));_半径
  21.         )
  22.         (setvar "osmode" 0)
  23.         (command "polygon" b cent "i" rad)
  24.         (setq n (+ 1 n))
  25.         ;; )
  26.         ;;)
  27.         ;;(setq k (+ 1 k))
  28.       )
  29.       (setvar "osmode" oldos);;恢复捕捉
  30.     )
  31.   )
  32.   ;;(princ (strcat "选择物体的个数=" (itoa k)))
  33.   ;;(princ (strcat "\n其中圆的个数=" (itoa k)))
  34.   (princ)
  35. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

  13. ;;;圆内接正N边形
  14. (defun c:test ()
  15.   (CMDLA0)
  16.   (setvar "osmode" 0)
  17.   (setq        int (UINT 7 "" "\n多边形的边数" int)
  18.         ss  (ssget '((0 . "CIRCLE")))
  19.         i   -1
  20.   )
  21.   (repeat (sslength ss)
  22.     (setq s1  (ssname ss (setq i (1+ i)))
  23.           pt0 (dxf 10 (entget s1))
  24.           rad (dxf 40 (entget s1))
  25.     )
  26.     (command "_polygon" int pt0 "i" rad)
  27.   )
  28.   (CMDLA1)
  29. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-8 08:58:13 | 显示全部楼层
注意看下面的注释:

  1.   [FONT=courier new]
  2. (defun c:test (/)
  3.   (setq b (getint "多边行的边数:"))
  4.   (setq ss (ssget))
  5.   (setq n 0);选择集数量的起始值
  6.   (setq k 0);完成更新的圆数量起始值
  7.   (repeat (sslength ss)
  8.     (setq en (ssname ss n));这里用了N
  9.     (setq en_data (entget en))
  10.     (setq name_list (assoc 0 en_data))
  11.     (setq name (cdr name_list))
  12.     (if        (= name "CIRCLE")
  13.       (progn
  14.         (setq cent (cdr (assoc 10 en_data)))
  15.         (setq rad (cdr (assoc 40 en_data)))
  16.         (command "polygon" b cent "i" rad)
  17.         (setq k (+ 1 k));注意!这里应用K变量,
  18.       )
  19.     )
  20.     (setq n (+ 1 n));这里应用N量
  21.   )
  22.   (princ (strcat "选择物体的个数=" (itoa n)))
  23.   (princ (strcat "\n其中圆的个数=" (itoa k)))
  24.   (princ)

  25. )
  26.   [/FONT]

是不是也在学《AutoLISP&DCL基础篇》?我也是呀^_^
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-8 09:59:43 | 显示全部楼层
最初由 yjtdkj 发布
[B]注意看下面的注释:[CODE]
  
(defun c:test (/)
  (setq b (getint "多边行的边数:"))
  (setq ss (ssget))
  (setq n 0);选择集数量的起始值
  (setq k 0);完成更新的圆数量起始值
  (re... [/B]

为什么不直接过滤圆物体:(setq ss (ssget '((0 . "CIRCLE"))))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-10-8 16:48:59 | 显示全部楼层
谢谢
谢谢个位的解答
找到自己那里错了
刚学
瞎子过河
摸着石头过河
yjtdkj 兄太好了多交流
是的这是一个练习,刚开始实在不知道自己错在哪里了。
总觉的过程没有错,检查了好久。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-28 15:57 , Processed in 0.253293 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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