明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1726|回复: 2

[LISP]各位大哥,有没有这样的修剪和延伸程序。

[复制链接]
发表于 2005-6-18 13:09:00 | 显示全部楼层 |阅读模式
能不能有这样的程序,谢谢……


因为画图,最多的还是修剪和延伸。而修剪和延伸都需要指定边界的。有时候往往又没有边界可选,这时候,就需要临时创建一条直线当作边界。等到修改完后再删除此边界。。目的是为了将许多参差不齐的线条对齐于从某一点开始的直线。(change命令也许可以,但不完善。)


所以,如果能启动一个程序,临时画一条虚直线当作边界,等到修改完后,自动删除此边界。真实省事省力。。
发表于 2005-6-18 22:51:00 | 显示全部楼层
  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. 通用函数下载地址:
  10. http://bbs.mjtd.com/forum.php?mod=viewthread&tid=37554
  11. |;;;;参考延伸或修剪
  12. (defun c:test ()
  13.    (cmdla0)
  14.    (mkla "参考线" 1)
  15.    (setq tx1 (UKWORD 1 "1 2" "\n1-延伸/2-修剪" tx1))
  16.    (if (setq pt1 (getpoint "\n参考线起点<退出> : "))
  17.        (progn
  18.            (command "pline" pt1)
  19.            (while (setq pt2 (getpoint pt1 "\n参考线下一点<退出> : "))
  20.   (command pt2)
  21.   (setq pt1 pt2)
  22.            )
  23.            (command)
  24.            (setq s1 (entlast))
  25.            (cond ((= tx1 "1")           (command "extend" s1 ""))
  26.          ((= tx1 "2")           (command "trim" s1 ""))
  27.          )
  28.            (while (setq s2 (entsel))
  29.   (command s2)
  30.            )
  31.            (command)
  32.            (command "erase" s1 "")
  33.        )
  34.    )
  35.    (cmdla1)
  36. )
 楼主| 发表于 2005-6-20 12:35:00 | 显示全部楼层
本帖最后由 作者 于 2005-6-20 13:31:10 编辑

谢谢。


不过你的这个程序修剪或者延伸的时候不能象cad一样选择物体,非常不方便。


建议能够保持cad的trim和extrend的所有功能。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 15:49 , Processed in 0.179536 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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