明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: quanguang

[求助]怎么用autolisp编写程序实现圆圈内所有实体剪切功能

  [复制链接]
 楼主| 发表于 2005-3-25 11:40:00 | 显示全部楼层
感谢zzqqxx老兄,我的浏览器可能出了点儿问题,没有及时看到回帖,sorry所以才帖出了第九个!!对不起呀!!还让ljpnb老兄误解了!!!                 :-)


zzqqxx老兄,能否把你的qq告诉我,有空向你请教
发表于 2005-3-26 17:39:00 | 显示全部楼层
;;;;;;;;;;;经实验可切除圆内部或图形
(defun c:trc(/ oldcmdcho oldosmode enobj kk endata);;;hy_trim_in
(setq oldcmdcho (getvar "cmdecho" ))
(setvar "cmdecho" 0)
(setq oldosmode (getvar "osmode"))
(setvar "osmode" 0)
(command "ucs" "w")
(COMMAND "REGEN")
(setq enobj (car (entsel "\n选圆:")))
(initget "1 2")
(setq kk (getkword "\n剪除内部物体<1>,剪除外部物体<2>:<1?>"))
(if (= kk nil) (setq kk "1"))
(setq endata (entget enobj))
(cond
;;;;;如果enobj为一个圆;;;;;;;
((= (cdr (assoc 0 endata)) "CIRCLE")
(hy_trim_in_circle))
(t (progn (alert "\n你选的物体不是圆!重新确认")(exit))))
;end cond
(setvar "cmdecho" oldcmdcho)
(setvar "osmode" oldosmode)
(prin1)
)
;;;;;;;;;;剪除圆内或外部的物体;;;;;;;;;;
(defun hy_trim_in_circle(/ centerpoint radius point_list be_angle jk viu_point item)
(setq centerpoint (cdr(assoc 10 endata)))
(setq radius (cdr(assoc 40 endata)))
(if (= kk "1") (setq jk (- radius 0.01)) (setq jk (+ radius 0.01)))
(setq point_list '());;;以0.5度为一阶,半径缩小0.05圆上所有点
;(setq be_angle 0);起始角度为0
(setq i 0);;计数器归0
(repeat 720
(setq viu_point (polar centerpoint
(/ (* 0.5 i pi) 180)
jk);end polar
)
(setq point_list (cons viu_point point_list))
(setq i (1+ i))
);end repeat
(command "undo" "be")
(if (= kk "1")
(progn
(command "trim" enobj "" "f")
(foreach item point_list (command item))
(command "" ""))
)
(if (/= kk "1") (progn (setq i 0)
(repeat (length point_list)
(command "trim" enobj "" "f" (nth i point_list) (nth (1+ i) point_list) "" "")
(setq i (1+ i))
)
)
)
(command "undo" "e")
) 试一下我的吧!刚编的调试了,应该没问题, 可以剪切内部或外部都可以...自己用看吧 欢迎大家交流.... 刚有写了一个可以剪切封闭多边形内部或外部的 程序,需要的话下次可以上传....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 14:34 , Processed in 0.166522 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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