明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

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

向大家请教,轮廓的问题

  [复制链接]
发表于 2004-2-17 13:10:00 | 显示全部楼层
两点之间的距离被代入一个方程放大。


如果它是不规则的面,两点之间的距离是不同的,被放大的尺寸/原尺寸,你会发现每一行它们的比例是不同的,这也是为什么不能用SCALE命令来做。


       


是什么方程,数据如何变化的?
发表于 2004-2-18 02:36:00 | 显示全部楼层
linear发表于2004-2-17 12:37:00\"move\"是在做取轮廓和做剖面线之间的一步,因为hatch时要选择物体,老会点到立方体,而非轮廓线,所以先把得到的轮廓线移开。是不是很笨阿?:)

其实在作hatch时可以先构造轮廓边界的选择集后再选点。而构造选择集时可用过滤条件,我想用不着先依开吧。
 楼主| 发表于 2004-2-18 05:43:00 | 显示全部楼层
是什么方程,数据如何变化的? (setq ll (+ (EXPT l 3.0) l 1.0)) y=x^3+x+1 我把放大的尺寸平分给两端点。让它们向两边延伸。 cqnj023
请问按照你的方法该怎么做,谢谢。
 楼主| 发表于 2004-2-20 05:14:00 | 显示全部楼层
hi,大家好,真的很谢谢你们给我的提示。有些地方确实如你们所说,修改了就好了。 我作了些修改,又遇到了些问题。(setq p0 (car p1)) 这一步,猜想可能是p1定义的问题。p1是由repeat命令得到的左端点坐标的选择集,初始集定义为空,以后将新得到的坐标一个一个的放进去。P2是右端点坐标的选择集。 然后用pline将p1,p2内的点分别联成曲线。再用fillet将它们首尾相连。 谢谢! (Defun c:bl (/ l ll)
(setq a (getpoint "internal point:"))
(setq p (getpoint "base point:"))
(command "-boundary" a "")
(command "move" "l" "" p "@5,-5")
(command "-color" 9)
(command "hatch" "u" 0 0.1 "n" "l" "")
(command "explode" "l" "")

(vl-load-com)
(setq ss (ssget "x" '((62 . 9))))
(setq i 0)
(setq p1 (ssadd))
(setq p2 (ssadd))
(repeat (sslength ss)
(setq ent (ssname ss i))
(setq ens (vlax-Ename->Vla-Object ent))
(setq l (vlax-curve-getdistatparam ens
(vlax-curve-getendparam ens)

)
)

(setq ll (+ (EXPT l 3.0) l 1.0))
(setq dx (/ (- ll l) 2))

(setq le (entget ent))
(setq pt1x (car (assoc 10 le)))
(setq pt1y (cdr (assoc 20 le)))
(setq pt1 (list (- pt1x dx) pt1y)) (setq f1 (entlast)
p1 (ssadd f1 p1)
) (setq pt2x (car (assoc 11 le)))
(setq pt2y (cdr (assoc 21 le)))
(setq pt2 (list (+ pt2x dx) pt2y)) (setq f2 (entlast)
p2 (ssadd f2 p2)
)
(entdel ent)
(setq i (1+ i))
)
(setq p0 (car p1))
(command "pline" p0 "a")
(while (setq pp (car p1))
(command pp)
(setq p1 (cdr p1))
)
(setq en1 (entlast)) (setq p00 (car p2))
(command "pline" p00 "a")
(while (setq q (car p2))
(command q)
(setq p2 (cdr p2))
)
(setq en2 (entlast)) (command "fillet"
(list en1
(list (car (last p1)) (- (cadr (last p1)) 0.001))
(list en2 (last p2))
) (command "fillet"
(list en1 (list (car p0) (- (cadr p0) 0.001)))
(list en2 p00)
)
)
)
发表于 2012-3-1 20:35:51 | 显示全部楼层
学习了 非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-9 01:44 , Processed in 0.153945 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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