mcxiangxin 发表于 2008-5-8 21:42:00

[讨论]这个程序有没有人会编

<p>我想编这样一个程序:见下图</p><p>我框选左边的图形后,会自动绘制出右边的图形,即以选中对象的最大外形画出一个矩形框!大家的思路是怎样的?注意图中有spl线,有圆,有直线……</p>

kerrywm 发表于 2008-5-8 22:40:00

<p>这个不难,你先自己想想。</p><p>用循环,同时用(VLA-GETBOUDINGBOX OBJ 'MINPT 'MAXPT)函数,写不出来再知会一下。</p>

xyp1964 发表于 2008-5-8 23:31:00

本帖最后由 作者 于 2008-5-8 23:32:40 编辑

;; 实体集最小外包方框
(defun c:test662 ()
(CMDLA0)
(setvar "osmode" 0)
(command "select" "all" "")
(setq ss(ssget "p")
ptn (list (xyp-get-ssMinMaxPoint ss 1)
    (xyp-get-ssMinMaxPoint ss 9)
   )
)
(xyp-MkLaCo "TEST" 1)
(xyp-add-line (car ptn) (cadr ptn))
(command "rectang" (car ptn) (cadr ptn))
(CMDLA1)
)

无痕 发表于 2008-5-9 00:11:00

不知xyp的程序在ucs下可否?

英雄无敌 发表于 2008-5-9 09:49:00

<p>他那个程序只有一点点,在哪都运行不了,除了他自己的机器</p>

xyp1964 发表于 2008-5-9 13:43:00

mcxiangxin 发表于 2008-5-9 20:05:00

非常感觉大家的回复!三楼的程序可以用,不过有点问题,在有spl线时,程序中画出的矩形框,不是选取对象的最大外形.如下图所示:

mcxiangxin 发表于 2008-5-9 20:09:00

正如无痕所说,三楼的程序在ucs下会出现问题

无痕 发表于 2008-5-9 20:41:00

<p>对spl线那是没办法,函数的缺陷,还没想过怎么再精确,不过应该是可以的。</p><p>我以前好像发过ucs下求外框的程序,太久不见得了,感兴趣的可以搜索一下</p>

mcxiangxin 发表于 2008-5-9 21:10:00

那太可惜了,可能真没有办法了
页: [1] 2 3
查看完整版本: [讨论]这个程序有没有人会编