找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 380|回复: 0

[求助] [求助]:高手帮帮忙!!!!

[复制链接]

已领礼包: 171个

财富等级: 日进斗金

发表于 2006-9-25 12:08:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
我朋友在网上下载了的个弧或圆可以变为多段线!不过设置为10000条线太多了!有时又想多,又时又想少.可不可以帮我改改.改成输入式的.并且他下载的LSP是单选的,顺便也改为双选!
(defun *error*(msg)(print st_pt)(print st_p)(print mid_pt)(print ed_pt)(print ed_p))(defun c:zz(/ pts min_distacne vlo st_par ed_par ent n)(setq        vlo        (vlax-ename->vla-object(setq ent(car(entsel"\n选择圆弧、椭圆或SPLINE:"))))        st_par        (vlax-curve-getstartparam vlo)        ed_par        (vlax-curve-getendparam vlo)        pts        (list(vlax-curve-getstartpoint vlo))        min_distacne(/(vlax-curve-getdistatparam vlo ed_par)10000.0)        n         0)(t1 vlo st_par ed_par)(command"pline")(foreach n pts(command"non"n))(command)(princ(strcat"\n创建一条顶点数为"(itoa(length pts))"的复义线。"))(princ))(defun t1(vl_obj start_par end_par / dis_m_m ed_p ed_pt mid_p mid_pt mid_pt_vlo st_p st_pt)(setq        st_p         start_par         ed_p         end_par         st_pt        (vlax-curve-getpointatparam vl_obj st_p)        ed_pt        (if(vlax-curve-getpointatparam vl_obj ed_p)                (vlax-curve-getpointatparam vl_obj ed_p)                (vlax-curve-getendpoint vl_obj)                )        mid_p        (/(+ st_p ed_p)2.0)        mid_pt        (mapcar '(lambda(x y)(/(+ x y)2.0))st_pt ed_pt)        mid_pt_vlo(vlax-curve-getpointatparam vl_obj mid_p)
        dis_m_m        (distance mid_pt_vlo mid_pt))(if(or(> dis_m_m min_distacne)(t2 vl_obj start_par end_par st_pt ed_pt))(progn(t1 vl_obj st_p mid_p)(t1 vl_obj mid_p ed_p))(setq pts(append pts(list mid_pt_vlo)(list ed_pt)))))(defun t2(vl st_par ed_par s_pt e_pt / run delta_p delta_pt)(setq        run         t         delta_p        (/(- ed_par st_par)5.0)        delta_pt(mapcar '(lambda(x y)(/(- x y)5.0))e_pt s_pt))(while(and run(<(setq st_par(+ st_par delta_p))ed_par)) (if(>(distance(vlax-curve-getpointatparam vl st_par)                (setq s_pt(mapcar '(lambda(x y)(+ x y))s_pt delta_pt))        )         min_distacne         )        (setq run nil) ))(not run))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-18 08:30 , Processed in 0.367999 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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