几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(AutoLISP)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


 
 
主题工具 搜索本主题 显示模式
旧 2009-04-22, 07:27 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】[求助][原创]曲线转多段线

[求助][原创]曲线转多段线
www.dimcax.com
defun c:ee () ;任意曲线变多段线一般只用于椭圆;圆弧和样条曲线
()( "cmdecho" 0)
( ss ( '((0 . "arc,spline,ellipse,*polyline"))))
( lenss ( ss)
i 0 eelist '()
)
( lenss;外循环开始
( en ( ss i);取得图元名
obj ( en);转换为vla对象
)
( wide(vla-get-constantwidth obj))
( "plinewid" wide)
( zc (
obj
( obj)
);求得图元周长
;;;或者( zc( obj ( obj)))
)
( j(- zc ( zc)));取出周长的小数值
( lst1( obj 0));取开始点
( ( zc);循环周长取整次刚好到端点
( lst ( obj j);取距开始点为j的点
lstlen ( obj lst);测量开始点到j点的距离
)
(
eelist ( eelist ( ( ( 0 lst) ( 1 lst))));加入到点集
)
( j ( j));递增1
);内循环结束
;( eelist( eelist))
( lst2( obj))
(
eelist ( eelist ( ( ( 0 lst2) ( 1 lst2))));加入到点集
)
( ".pline" "non" lst1);开始描点
( n eelist ( "non" n)( lst1 n 1) ( lst1 n));模拟描红
( "" );描点结束
( eelist '());清空点集
( i ( i));下一个图元
);外循环结束
()()
)
它山之石,可以攻玉。
学以致用,用而知之。
d
用定数/定距等分对任意线等分得到需要的点,然后将这些点坐标输出即可。
这样精度可以自控,简单实用。
d
谢谢各位的指点,又改了一下,如果是圆弧可以描得一样,用了pl-a-s
通过工具菜单->加载应用程序 可加载该程序,然后可直接在命令行输入相关命令运行。如需要每次启动时均加载该程序,则可以将该文件放在启动组中。
文件预览:
d
感谢楼主,但是对圆形好像无效啊?有没有办法?
d
将曲线,包括折线光滑后的曲线,转换为折线的难点在点的合理分布,即直线段与原曲线的最大偏差满足要求且大致相等,而不是等距分布。
至于圆和圆弧,直接按满足精度的的角度差取点即可。
d
其实在cass6.0以上版本里,已集成了spline->复合线功能,使用方面偏差较少,就是不知源码怎样?
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
 


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 04:58 PM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多