首页  |  信息资讯  |  资源检索  |  浏览精彩论坛  
广告正在载入中...
设为首页
收藏本站
站点导航
 AutoCAD二维 CAD三维渲染 CAD下载 中望CAD 浩辰CAD 制造业 建筑CAD 图纸区 标准手册
 Inventor Pro/ENGINEER NX(UGS) Solidworks     

  您的位置:  首页 >> 信息资讯 >> 中望CAD >> 查看内容
 

如何将样条曲线变成多段线?
作者: sg001833  发布日期: 2012-3-30    查看数:    出自: http://www.askcad.com
 
n条样条曲线怎么能转变为多段线
 
 
 
【论坛浏览】 【我来说两句】 【打印】 【大】 【中】 【小】 【关闭】
 
相关评论
作者: sg001833  发布日期: 2012-4-09
哪位高手回复一下啊,教教!
作者: www_qf  发布日期: 2012-4-17
下面是acad的方法,你可以在中望中试试

1.普通方法
样条曲线转换成多段线的方法AutoCAD本身携带的ET工具(Express tool)有一个命令可以直接实现此功能:FLATTEN命令可以完成此项,前提是AutoCAD安装的时候已经安装了ET工具。
方法1:直接输入“FLATTEN”
方法2:用菜单——Express——Modify——Flatten objects

2.把样条曲线转换成多段线另类方法
方法1:将要转换的样条曲线复制在一新图中,用“另存为”命令将图纸保存为“AutoCAD R12/L12 DXF (*.dxf)”格式,再“打开”命令选择打开刚才保存的“DXF (*.dxf)”格式文件即可。
方法2:用WMFOUT命令选择要要转换的样条后,将所选对象保存为“图元文件 (*.wmf)”格式文件,再用WMFIN命令打开刚才保存的“图元文件 (*.wmf)”文件,按提示输入相应参数后炸开图形,就得到了所要转换的多段线了。

3.用lsp程序
将如下代码存为lsp格式,用CAD加载后输入命令ee即可转换。
CODE:
(princ "+++ 曲线或圆弧到多线段 - Chris. [email protected] 2012-1-3 +++\n")
(princ "+++++ 输入命令\"ee\"进行操作 +++++\n")
(defun c:ee () ;任意曲线变多段线一般只用于椭圆、圆弧和样条曲线
(VL-LOAD-COM)(setvar "cmdecho" 0)
(setq ss (ssget '((0 . "ARC,*LINE,ELLIPSE"))))
(princ "\n")
(setq jj (getint "设置间距(1):"))
(if (= jj nil) (setq jj 1))
(setq lenss (sslength ss)
i 0 eelist '()
)
(repeat lenss;外循环开始
(setq en (ssname ss i);取得图元名
obj (vlax-ename->vla-object en);转换为vla对象
)
(setq ;zc (vlax-curve-getendparam obj)
j 1 );求得图元周长
(setq zc(vlax-curve-getDistAtPoint obj (vlax-curve-getEndPoint obj)))

;(setq j (- zc (* (fix(/ zc jj)) jj)));取第一段长度
(setq lst1(vlax-curve-getPointAtDist obj 0));取开始点
(repeat (fix (/ zc jj));循环周长取整次刚好到端点
;(setq ePt (vlax-safearray->list (vlax-variant-value (vla-get-coordinate obj j))))
(setq lst (vlax-curve-getPointAtDist obj j);取距开始点为j的点
; lstlen (vlax-curve-getDistAtPoint obj lst);测量开始点到j点的距离
)
(setq eelist (append eelist (list lst)));加入到点集
(setq j (+ jj j));递增jj
);内循环结束
;(setq eelist(reverse eelist))
(setq eelist (append eelist (list (vlax-curve-getEndPoint obj))))
(command ".pline" "non" lst1);开始描点
(foreach n eelist (command "non" n)(grdraw lst1 n 1) (setq lst1 n));模拟描红
(COMMAND "");描点结束
(setq eelist '());清空点集
(setq i (1+ i));下一个图元
);外循环结束
(princ "\n转换结束.")
)

作者: flour2006  发布日期: 2012-4-18

QUOTE:
下面是acad的方法,你可以在中望中试试

1.普通方法
样条曲线转换成多段线的方法AutoCAD本身携带的E ...
www_qf 发表于 2012-4-18 11:27


竟然有这么多的方法。
作者: qqqqqq  发布日期: 2012-4-23
不错,学习了。
 
共有评论数 4/每页显示数 10
 
我来说两句
请遵守国家法律和互联网法规。
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。
注意:系统启用了静态/缓存功能,您的回复可能不能立即显示。
 发布商链接
 热点主题
·初学者cad绘图技巧
·中望CAD/CAM新版亮相,强势出击深圳机械展
·et扩展工具,绝对可以使用的!
·如图所示,如何将框选后的图形生成到其他不同的多边
·如何将excel中输入的坐标直接转入到cad中啊?
·关于平面生成透视的问题
·如何将两个不同的图层互转?
·如何在cad中自动生成高程编辑器?
 最新主题
·中望CAD/CAM新版亮相,强势出击深圳机械展
·如图所示,如何将框选后的图形生成到其他不同的多边
·关于平面生成透视的问题
·初学者cad绘图技巧
·et扩展工具,绝对可以使用的!
·如何将两个不同的图层互转?
·如何将excel中输入的坐标直接转入到cad中啊?
·如何在cad中自动生成高程编辑器?
 XML   RSS 2.0   WAP 
 
Copyright   ©  askcad.com  All rights reserved.
 沪ICP备05012503号-1
Processed in 0.006809 second(s), 0 queries, Gzip enabled