明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1015|回复: 2

[求助][1102]指令数值的纪录该怎样编写呢?

[复制链接]
发表于 2005-11-2 10:59 | 显示全部楼层 |阅读模式


[1102]指令数值的纪录该怎样编写呢?

请教以下的程序要怎样才可以将半径值及距离值做成纪录
可以在下次使用此程序时可以直接使用
就像 offset 指令一样设定好距离可以在下次继续使用

另外如果这个程序要再加上自行设定的图层名称以便绘制可以绘制到设定的图层名称
,该怎样设定呢?

(defun c:AR2 ()
(setq oldLayer ( getvar "clayer"))
(setq rs1 (getdist (strcat "\n [请输入半径(R)]<850>:")))
(setq dt1 (getdist (strcat "\n [请输入距离(D)]<350>:")))
(if (=(tblobjname "LAYER" "Turn") nil)
     (progn
         (entmake (list
                      '(0 . "LAYER")
                      '(100 . "AcDbSymbolTableRecord")
                      '(100 . "AcDbLayerTableRecord")
                      '(6 . "CONTINUOUS")
                      '(62 . 3)
                      '(70 . 0)
                       (cons 2 "Turn" )
                  )
         )
     )
)
(if (= rs1 nil)(setq rs1 "850" ))
(if (= dt1 nil)(setq dt1 "350" ))
(setvar "clayer" "Turn")
(princ "\n选择2个切圆:")
(command "circle" "t" "tan" pause "tan" pause rs1)
(princ "\n选择偏移方向:")
(command "offset" dt1 (entlast) pause "")
(setvar "clayer" oldLayer )
(prin1)
)

以上程序是参考晓东网站文章
另请问晓东网站是不是在维修呢?

发表于 2005-11-2 11:08 | 显示全部楼层

(setq rs1 (getdist (strcat "\n [请输入半径(R)]<850>:")))
(setq dt1 (getdist (strcat "\n [请输入距离(D)]<350>:")))

把rs1和dt1作成全局变量,或赋值给userr1-5系统变量,再次取用。

发表于 2005-11-2 11:17 | 显示全部楼层
  1. (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. 通用函数下载地址:
  11. http://bbs.mjtd.com/forum.php?mod=viewthread&tid=37554
  12. |;
  13. (defun c:AR2 ()
  14.   (cmdla0)
  15.   (if (null rs1)
  16.     (setq rs1 850)
  17.   )
  18.   (if (null dt1)
  19.     (setq dt1 350)
  20.   )
  21.   (setq oldLayer (getvar "clayer"))
  22.   (setq rs1 (UREAL 7 "" "\n请输入半径" rs1)
  23. dt1 (UREAL 7 "" "\n请输入距离" dt1)
  24.   )
  25.   (mkla "TURN" 3)
  26.   (princ "\n选择2个切圆:")
  27.   (command "circle" "t" "tan" pause "tan" pause rs1)
  28.   (princ "\n选择偏移方向:")
  29.   (command "offset" dt1 (entlast) pause "")
  30.   (cmdla1)
  31. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-20 15:25 , Processed in 0.154777 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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