明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1888|回复: 3

分享自己写的一个简单LISP, 还有事想请教一下....

[复制链接]
发表于 2011-9-20 23:31:09 | 显示全部楼层 |阅读模式
本帖最后由 cadauto 于 2011-9-20 23:41 编辑

画平面图时,我想用一个程序來开墻身缺口,于是写了这个,
現在是先求墻身的兩個點, 打开缺口後, 再输入墻身的左上角点來完成墻身的封闭,
有否方法來简化這步骤呢?




(defun c:bk (/ ss len ab p1 p2 p3 p4 pt hh index xos an ab bb cc dd clay nlay )
  (setvar "cmdecho" 0 )
  (setq xos (getvar "osmode" ))
  (setq clay (getvar "clayer" ))
  (setq ss (ssget))
  (setq len (sslength ss))
  (setq index 0 )
  (setq p1 (getpoint "\n左下角点:"))
  (setq p2 (getpoint "\n右下角点:"))
  (setq an (angle p1 p2 ))
     (repeat len
       (setq ab (ssname ss index))
       (command "break" ab p1 p2  )
       (setq index (+ index 1))
       (princ)
     )
   (setq pt (getpoint "\n左上角点:"))
   (setq hh (distance p1 pt))
   (setvar "osmode" 0 )
   (setq cc (entget ab))
   (setq dd (assoc 8 cc))
   (setq nlay (cdr dd))         
   (setvar "clayer" nlay)
        (setq p3 (polar p1 (+ an (/ pi 2 )) hh ))
        (setq p4 (polar p2 (+ an (/ pi 2 )) hh ))
        (command "line" p1 p3 "" )
        (command "line" p2 p4 "" )
   (setvar "osmode" xos )
   (setvar "clayer" clay )
(princ)
)





本帖子中包含更多资源

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

x
发表于 2011-9-20 23:37:33 | 显示全部楼层
程序里面某个commond多了个“”
 楼主| 发表于 2011-9-20 23:40:56 | 显示全部楼层
谢谢楼上的, 現在修正了一下~
发表于 2011-9-21 00:20:44 | 显示全部楼层
弧线墙貌似有点小问题,直线挺好的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-24 09:09 , Processed in 0.170487 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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