明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1630|回复: 1

[讨论] [讨论]关于闭合多义线框内扣图(请斑主、大侠们指点,多谢)

[复制链接]
发表于 2010-8-11 21:05:00 | 显示全部楼层 |阅读模式

程序如下:

(defun c:knkc( / cmdecho_bak en en1 os pot pt ptlist ss1)
  (setq cmdecho_bak (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (setq os (getvar "osmode"))
  (if (/= os 0)
    (setvar "osmode" 0)
  ) 
  (setq en(car(entsel"\n请选择闭合多义线:")))
  (setq pt (getpoint "\n请选择方向点:"))
  (command "offset" 0.3 en pt "")
  (setq en1 (entlast))
  (setq ptlist (ptlist-get en1))
  (entdel en1)
  (command "trim"
               en
               ""
               "f"
               (foreach pot ptlist (command pot) "")
               ""
      )
  (setq ss1 (ssget "_wp" ptlist))
  (command "erase" ss1 "")
  (setvar "osmode" os)
  (princ)
)


(defun ptlist-get (en / ptlist fst)
  (setq ent (entget en))
  (foreach n ent
    (if   (= 10 (car n))
      (setq ptlist (cons (cdr n) ptlist))
    )
  )
  (setq fst (car ptlist))
  (setq ptlist (cons fst (reverse ptlist)))
  ptlist
)

程序测试后,对于复杂闭合多义线框内扣图,程序有时失效,刚接触LISP不久,不知道哪里有问题?因不知道如何求得闭合多义线框内一点,在程序里加了(setq pt (getpoint "\n请选择方向点:")),请请斑主、大侠们指点,多谢

发表于 2010-8-13 20:17:00 | 显示全部楼层
我的程序被改了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 08:22 , Processed in 0.188722 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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