明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1705|回复: 7

陈老师,请教您关于边界等的问题

[复制链接]
发表于 2004-2-11 12:44:00 | 显示全部楼层 |阅读模式
陈老师,


请教您,                                                                                                                         1,先获取一个曲面(或平面)的边界,


                                                                                                                                                                 2。平行于x轴的截线(无数条),截得曲面边界上的两点


                                                                                                                                                                 3。求这两点间的距离


                                                                                                                                                                 4。代人一个方程d'=d+3d^2放大


                                                                                                                                                                 5。将得到的值还给边界,得到新的边界。


就以上几步,您可不可以给点提示改用什么方法和命令做?万分感谢!!!


我现在用的是visual lisp. 刚刚家人将您的书用国际快递寄给我,寄费好贵阿。:)写的确实很好,解我燃眉之急。
发表于 2004-2-11 13:12:00 | 显示全部楼层
用Hatch直线填充、分解剖面线、逐条取出分解后的直线得到长度...
 楼主| 发表于 2004-2-11 13:30:00 | 显示全部楼层
谢谢您,陈老师,我刚刚想起,是不是可以用一个条件语句,对於同样的y坐标,得到边界上两点的横坐标,再求它们的差值?这样就可免掉做截线这一步了。如果可行,请问是用if 型还是用while 型,谢谢。对了,怎么样将新值返还给边界呢?我用的boundary 命令得到了一个边界,可以吗?
 楼主| 发表于 2004-2-11 14:55:00 | 显示全部楼层
我好像看到过您提到的方法,翻到过,就是想不起来在哪一页了,可以提个醒吗?
发表于 2004-2-11 15:25:00 | 显示全部楼层
很遗憾,我自己也没有书,都送人了,只文本文件,说不清页数...
 楼主| 发表于 2004-2-12 01:06:00 | 显示全部楼层
请问它在你随书附赠的磁盘里吗?是哪一个?如果不再可以请您传一份给我吗?


xqy66@hotmail.com
 楼主| 发表于 2004-2-12 10:55:00 | 显示全部楼层
I just compiled a small program according to the above purpose.Seems there is something wrong to run this program.Could you please help me to check them?Thanks a lot! (Defun bl (/ l l')
(vl-load-com)
(command "_.boundary")
(command "_.hatch" (entlast))
(command "_.explode" (entlast))
(setq ss (ssget '((0 . "lines"))))
(setq i 0)
(repeat (sslength ss)
(setq ent (ssname ss i))
;can i use this kind of sentence directly?(set l (list (getdist ent "select line")))
(setq ens (vlax-Ename->Vla-Object (car ent)))
(setq l (vlax-curve-getdistatparam ens
(vlax-curve-getendparam ens )))
(alert (strcat "Length = " (rtos l)))
(entdel ent)
(setq i (1+ i))
)

(setq l'(+ (EXPT l 3.0) l 1.0))

(set dx(/(l'-l) 2)) (setq pt1x (cdr (assoc 10 l)))
(setq pt1y (cdr (assoc 20 l)))
(setq pt2x (cdr (assoc 11 l)))
(setq pt2y (cdr (assoc 21 l)))

(set ncl(list (- pt1x dx)))
(set ncr(list (+ pt2x dx)));change the x coordinates of start and end points,but how to put back to points? )
10 Start point (in OCS)
DXF: X value; APP: 2D point
20 DXF: Y value of start point (in OCS)
11 End point (in OCS)
DXF: X value; APP: 2D point
21 DXF: Y value of end point (in OCS)
 楼主| 发表于 2004-2-13 12:12:00 | 显示全部楼层
陈老师,可以请您帮我看看上面的程序吗?谢谢了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-18 08:20 , Processed in 0.155032 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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