[求助]一个复杂三维实体,如何获取将其包容的长方体的长宽高 ?
本帖最后由 作者 于 2006-3-6 10:46:34 编辑 <br /><br /> <P></P><P>复杂三维实体的造型是任意的,现在作一个示例。如何编一个lisp命令获取将实体包容的长方体的长宽高信息,程序在同一文件中能重复用在多个实体。请大虾帮忙看看呀,谢谢了</P> <P>应该很简单!</P>
<P>;;取得围住指定物件之矩形体的二个点。<BR>(vla-getboundingbox<BR> (vlax-ename->vla-object (car (entsel)))<BR> 'MINPOINT<BR> 'MAXPOINT<BR>)<BR>(mapcar 'vlax-safearray->list (list MINPOINT MAXPOINT))</P>
<P> </P>
我的水平有限,写不出
请龙版主帮忙写个完整的代码,可以么?谢谢了啊 ;;取得围住指定物件之矩形体的二个点。<BR>(defun C:TT (/ LST MAXPOINT MINPOINT)<BR> (vla-getboundingbox<BR> (vlax-ename->vla-object (car (entsel)))<BR> 'MINPOINT<BR> 'MAXPOINT<BR> )<BR> (setq LST (mapcar 'vlax-safearray->list (list MINPOINT MAXPOINT)))<BR> (setq LST (mapcar 'abs (mapcar '- (car LST) (cadr LST))))<BR> (prompt (strcat "\n长宽高= "<BR> (rtos (car LST) 2 2)<BR> "X"<BR> (rtos (cadr LST) 2 2)<BR> "X"<BR> (rtos (last LST) 2 2)<BR> )<BR> )<BR> (prompt<BR> (strcat "\n体积= "<BR> (rtos (* (car LST) (cadr LST) (last LST)) 2 2)<BR> )<BR> )<BR> (princ)<BR>)<BR> 好个龙龙仔!再一次请教龙版主
请问如何获取包容长方体的右下角点的坐标呢?谢谢啦 <P>;;如何获取将其包容的长方体的长宽高<BR>;;复杂三维实体的造型是任意的,现在作一个示例。如何编一个lisp命令<BR>;;获取将实体包容的长方体的长宽高资讯,并快速用text写出来,如图中<BR>;;的两个红色字体。(那两个红色字就是想要的结果,字高20、位置任意,<BR>;;之后可手动移)。程式在同一档中能重复用在多个实体。请大虾帮忙看<BR>;;看呀,谢谢了<BR>;;取得围住指定物件之矩形体的长宽高&体积,并表列。<BR>;;其中使用了表格公用程序</P><P>;;<A href="http://free.ys168.com/?lucas-lai" target="_blank" >http://free.ys168.com/?lucas-lai</A><BR>(defun C:TT (/ LST MAXPOINT MINPOINT)<BR> (vla-getboundingbox<BR> (vlax-ename->vla-object (car (entsel)))<BR> 'MINPOINT<BR> 'MAXPOINT<BR> )<BR> (setq LST (mapcar 'vlax-safearray->list (list MINPOINT MAXPOINT)))<BR> (setq LST (mapcar 'abs (mapcar '- (car LST) (cadr LST))))<BR> (setq<BR> LST (list (list "长宽高"<BR> (strcat<BR> (rtos (car LST) 2 2)<BR> "X"<BR> (rtos (cadr LST) 2 2)<BR> "X"<BR> (rtos (last LST) 2 2)<BR> )<BR> )<BR> (list "体积"<BR> (rtos (* (car LST) (cadr LST) (last LST)) 2 2)<BR> )<BR> )<BR> )<BR> (TABLE_UTIL LST (getpoint "\n表格插入点: ") "standard" 20)<BR> (princ)<BR>)</P>
<P>请问如何获取包容长方体的右下角点的坐标呢?谢谢啦<BR>=>(list MINPOINT MAXPOINT)--利用这两点自己算算吧!<BR></P>
<P> </P>
<P> </P>
我的LISP基础太差了,真不好意思
<P>用龙版主的程序基本解决了我的问题,</P><P>就差右下角点的坐标不会求,我不知道怎么算,</P>
<P>那个坐标求出来我的问题就完全解决了啊</P>
<P>再请龙版主帮一下</P> (list (car MAXPOINT) (cadr MINPOINT )(caddr MINPOINT)) <P>用九楼的不可以?</P>
页:
[1]
2