linear 发表于 2004-2-16 13:18:00

陈老师,向您请教!

陈老师,


我做到这步就做不下去了,向您请教。运行时,几个command命令之间,不连贯;在获取剖面线那一步,我用了repeat,但不知为什么运行时总是说<BR>        <BR>&lt;Selection set: 30&gt; <BR>0 <BR>; error: bad argument type: consp &lt;Entity name: 4007a408&gt;


另外,您有办法将得到的新长度平分给剖面线的两个端点,再将点联成线,成为新的边界曲线吗?非常感谢!





(Defun bl (l ll)<BR>       (vl-load-com)<BR>       (setq       a (getpoint "\n internal point:"))<BR>       (setq       p (getpoint "\n base point:"))<BR>       (command "-boundary" a "")<BR>       (command "move" "l" "" p)<BR>       (command "color" 9)<BR>       (command "hatch" "u" 0 0.1 "n") <BR>       (command "explode" "L" "")<BR>       mission is get the lengh of lines,bring into nonlinear function.<BR>       (vl-load-com)<BR>       (setq ss (ssget "x" '((62 . 9))))<BR>               (setq i 0)<BR>               (repeat (sslength ss)<BR>                               (setq ent (ssname ss i))<BR>                               (setq ens (vlax-Ename-&gt;Vla-Object (car ent)))<BR>                               (setq l       (vlax-curve-getdistatparam ens <BR>                                                                                                       (vlax-curve-getendparam ens )))<BR>                               <BR>                               (alert (strcat "Length = " (rtos l)))<BR>                               (setq ll (+ (EXPT l 3.0) l 1.0))<BR>                               (entdel ent)<BR>                               (setq i (1+ i))<BR>               )


从这步以下,还没检查。<BR>                <BR>                <BR>       <BR>(set dx(/(l'-l) 2))


(setq pt1x (cdr (assoc 10 l)))<BR>(setq pt1y (cdr (assoc 20 l)))<BR>(setq pt2x (cdr (assoc 11 l)))<BR>(setq pt2y (cdr (assoc 21 l)))<BR>       <BR>(set ncl(list (- pt1x dx)))<BR>(set ncr(list (+ pt2x dx)));change the x coordinates of start and end points,but how to put back to points?


)<BR>

陈伯雄 发表于 2004-2-16 14:05:00

您最好说说您的原始条件和要达到的目标,这才好讨论...

linear 发表于 2004-2-17 02:42:00




一个物体已给,对它上面的一个面进行放大,我以立方体为例,其实希望它也能对不规则面也能操作,


在x方向上,不同的长度,放大比例不同,新的长度与原长有个一元二次方程关系,以这图为例。


        先获取轮廓,剖面线,逐个获取,求长,平分新长度与旧长度差值给轮廓剖面线两端点,得新轮廓线。


谢谢


陈伯雄 发表于 2004-2-17 08:27:00

这样的问题似乎不必编程。


对于三维软件(例如Inventor)来说,这是放样特征的基本功能。

linear 发表于 2004-2-17 12:40:00

它可以进行不等比例放大吗?就是不同的长度放大比例不同?

陈伯雄 发表于 2004-2-18 09:14:00

因为Inventor是参数化设计软件,可以用表达式驱动轮廓,应当能完成的。
页: [1]
查看完整版本: 陈老师,向您请教!