明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5477|回复: 18

[求助][原创]曲线转多段线

    [复制链接]
发表于 2008-10-26 09:46:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-10-26 9:47:47 编辑

最近写一个曲线转多段线的程序,但出来的效果不完美,请各位指点下,代码见附件:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2008-10-27 04:07:00 | 显示全部楼层
郁闷,竟然无人问津
发表于 2008-10-27 08:28:00 | 显示全部楼层

不知道这个有什么用

是不是只有出切割指令时候能用到

发表于 2008-10-27 12:25:00 | 显示全部楼层
luyu9635发表于2008-10-26 9:46:00;|程序虽能运行,但描出来的线会比实际的短1个距离,不知为什么,请各位帮忙修改下,谢谢;

是不是因为去掉了小数的原因.

发表于 2008-10-27 17:07:00 | 显示全部楼层

看下这个:

(defun c:ee () ;任意曲线变多段线一般只用于椭圆;圆弧和样条曲线
  (VL-LOAD-COM)(setvar "cmdecho" 0)
  (setq ss (ssget '((0 . "ARC,*LINE,ELLIPSE"))))
  (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)));取出周长的小数值
    (setq lst1(vlax-curve-getPointAtDist obj 0));取开始点
    (repeat (fix zc);循环周长取整次刚好到端点
      ;(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 (1+ j));递增1
    );内循环结束
    ;(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)
)

发表于 2008-10-27 17:17:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2008-10-28 02:44:00 | 显示全部楼层
能不能增加线段的控制数量啊?这样就更OK了
 楼主| 发表于 2008-10-30 00:29:00 | 显示全部楼层
phoenixdjq发表于2008-10-27 8:28:00不知道这个有什么用是不是只有出切割指令时候能用到

对,我就是要用来对付切割的,自己改好了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2008-10-30 04:07:00 | 显示全部楼层
如果改进能切割线段数量就更加好了
发表于 2008-10-31 18:51:00 | 显示全部楼层

9楼的问题也可见以下位置:

明经CAD社区工程篇机械工程 → [原创]任意曲线转换成多段线程序

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=68784

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 17:59 , Processed in 0.192776 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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