明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1650|回复: 4

[請教] 關於自動修邊的程序主要是Trim修剪對象的問題

[复制链接]
发表于 2004-10-9 16:10:00 | 显示全部楼层 |阅读模式
(SETQ Trimp (Trim-Spline (ssget '((0 . "SPLINE")))))
(vl-cmdf ".trim" sbj2 "")
(mapcar '(lambda(e) (vl-cmdf e)) Trimp)
(vl-cmdf "") ;功能 取对象的起点和终点加对象名
(defun Trim-Spline(c / i spl1-a splen STP Trimplist);2004-10-08
(VL-LOAD-COM)
(setq i 0)
(repeat (sslength c)
(setq spl1-a (ssname c i))
(setq splen (vlax-curve-getPointAtParam spl1-a (vlax-curve-getEndParam spl1-a)))
(setq STP (vlax-curve-getPointAtParam spl1-a (vlax-curve-getstartparam spl1-a)))
(setq Trimplist (append (list(list spl1-a splen)) Trimplist )
Trimplist (append (list(list spl1-a STP )) Trimplist ))
(setq i (1+ i)))
Trimplist
)
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2004-10-9 16:13:00 | 显示全部楼层



原图样






理想的效果[出自手功修剪]






程序处理的效果





测试文件

本帖子中包含更多资源

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

x
 楼主| 发表于 2004-10-9 16:19:00 | 显示全部楼层
想了一天, 不知道为什么明明正确的程序却出了意想不到的错误, 搞不董是程序的原因还是对象本身出来问题呢, 请各位大侠指点指点啊, 谢谢!!!
发表于 2004-10-9 16:41:00 | 显示全部楼层
不知道你获得这个做什么用?vlax-curve-getPointAtParam 试试这个: (defun c:test( / ss i ent spt ept lst)
(setq ss (ssget '((0 . "SPLINE"))))
(setq i 0)
(repeat (sslength ss)
(setq ent (ssname ss i))
(setq spt (vlax-curve-getstartpoint ent))
(setq ept (vlax-curve-getendpoint ent))
(setq lst (append lst (list (list ent spt) (list ent ept))))
(setq i (1+ i))
)
(setq i 0)
(command "_.trim" ss "")
(mapcar 'command lst)
(command "")
)
 楼主| 发表于 2004-10-9 17:01:00 | 显示全部楼层
你这个OK. 谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 13:36 , Processed in 0.184030 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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