找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3346|回复: 24

(已完成)[编程申请]:求可解决任意曲线打折问题的程序

[复制链接]
发表于 2002-7-29 13:58:27 | 显示全部楼层 |阅读模式

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

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

×
XDSOFT,江南你们好:
求可解决打折问题的程序
command: ans
选择一个2D-PLINNE:
输入角度<15.0>:
END

                               
登录/注册后可看大图
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-7-29 15:05:49 | 显示全部楼层
谁来解决呀?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-7-29 17:55:04 | 显示全部楼层

Re: [编程申请]:请教XDSOFT 求可解决打折问题的程序

最初由 mf7000 发布
[B]XDSOFT,江南你们好:
求可解决打折问题的程序
command: ans
选择一个2D-PLINNE:
输入角度<15.0>:
END

                               
登录/注册后可看大图
  [/B]


你的意思是想要把PLINE弧线的部分等分成几段用折线来模拟?

什么地方能用到?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-7-29 18:57:18 | 显示全部楼层
各位有兴趣的先谈谈自己的编程思路吧 :)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-29 19:07:14 | 显示全部楼层
是你说的意思
提前打折可以解决以下问题

另:江南的收件箱已满不能发悄悄话
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-29 19:24:16 | 显示全部楼层
重新贴的图
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-7-29 19:46:10 | 显示全部楼层
用XDRX_API可以很方便的完成的,我给大家贴贴XDRX_API里面关于POLYLINE处理方面的函数,大家讨论下看看用哪些组合可以完成。

我想,程序可以更通用些,可以处理ARC,POLYLINE,SPLINE,ELLIPSE等曲线打折,打折数用等分曲线来确定,不用角度。


  1. [FONT=courier new]
  2. 268. xdrx_polyline_numVerts

  3. 功能:获得LWPOLYLINE的顶点数

  4. 调用格式: (xdrx_polyline_numVerts <LWPOLYLINE对象名>)
  5.            (xdrx_polyline_numVerts)
  6.            
  7. 返回值:成功返回整数,否 NIL

  8. 说明:不给参数,使用当前系统对象栈顶的对象。

  9. 269. xdrx_polyline_segtype

  10. 功能:返回POLYLINE上的顶点下面曲线段的类型

  11. 调用格式:(xdrx_polyline_segtype <LWPOLYLINE对象名> <顶点位置>)
  12.           (xdrx_polyline_segtype <顶点位置>)

  13. 返回值:字符串

  14. 说明:顶点类型- "kLine" ,"kPoint","Kempty","kArc"

  15. 270. xdrx_polyline_getArcSegAt

  16. 功能:获得一个弧段顶点的弧数据

  17. 调用格式:(xdrx_polyline_getArcSegAt <LWPOLYLINE对象名> <顶点位置>)
  18.           (xdrx_polyline_getArcSegAt <顶点位置>)
  19.          
  20. 返回值:  (圆心 半径 起始角 终止角)

  21. 例子:Command: (xdrx_polyline_getarcsegat 2) ;;计算对象堆栈顶的LWPOLYLINE对象
  22.                ((42260.6 17638.3 0.0) 5260.35 6.09389 1.66863)        


  23. 271. xdrx_polyline_getLineSegAt

  24. 功能:获得一个直线段顶点的直线段数据

  25. 调用格式:(xdrx_polyline_getLineSegAt <LWPOLYLINE对象名> <顶点位置>)
  26.           (xdrx_polyline_getLineSegAt <顶点位置>)
  27.          
  28. 返回值:  (起点 终点)

  29. 例子 Command: (xdrx_polyline_getlinesegat (car (entsel)) 1)
  30.      Select object: ((45221.1 5134.88 0.0) (47427.0 16648.4 0.0))
  31.      
  32. 272. xdrx_polyline_getPointgAt

  33. 功能:获得指定顶点位置的点

  34. 调用格式:(xdrx_polyline_getPointgAt <LWPOLYLINE实体名> <顶点索引位置>)
  35.           (xdrx_polyline_getPointgAt <顶点索引位置>)   
  36.          
  37. 返回值:点

  38. 273. xdrx_polyline_getWidthsAt

  39. 功能:获得顶点索引位置后曲线段的起始宽度,终止宽度。

  40. 调用格式:(xdrx_polyline_getWidthsAt <LWPOLYLINE实体名> <顶点索引位置>
  41.           (xdrx_polyline_getWidthsAt <顶点索引位置>   
  42.          
  43. 返回值:(起始宽度 终止宽度)

  44. 274. xdrx_polyline_getBulgeAt

  45. 功能:获得指定索引位置弧段的凸度值。

  46. 调用格式:(xdrx_polyline_getBulgeAt <LWPOLYLINE实体名> <顶点索引位置>)
  47.           (xdrx_polyline_getBulgeAt <顶点索引位置>)
  48.          
  49. 返回值:实数

  50. 275. xdrx_polyline_onSegAt

  51. 功能:判断一个点是否在以指定的顶点索引开始的曲线段上,若是,返回该点的参数值。

  52. 调用格式:(xdrx_polyline_onSegAt <LWPOLYLINE实体名> <顶点索引值> <测试点>)
  53.           (xdrx_polyline_onSegAt <顶点索引值> <测试点>)
  54.          
  55. 返回值:若在,实数(该点处的曲线参数值),否NIL

  56. 276. xdrx_polyline_elevation

  57. 功能:获得POLYLINE的ELEV

  58. 调用格式:(xdrx_polyline_elevation <LWPOLYLINE实体名>)
  59.           (xdrx_polyline_elevation)  ;;对象栈顶
  60.          
  61. 返回值:实数

  62. 277. xdrx_polyline_getConstantWidth

  63. 功能:获得LWPOLYLINE的等宽度

  64. 调用格式:(xdrx_polyline_elevation <LWPOLYLINE实体名>)
  65.           (xdrx_polyline_elevation)  ;;对象栈顶
  66.          
  67. 返回值:实数

  68. 278. xdrx_polyline_hasPlinegen

  69. 功能:测试LWPOLYLINE实体是否是PLINEGEN      

  70. 调用格斯:(xdrx_polyline_hasPlinegen <LWPOLYLINE实体名>)
  71.           (xdrx_polyline_hasPlinegen)  ;;对象栈顶
  72.          
  73. 返回值:布尔值T或者NIL

  74. 说明:如果LWPOLYLINE有PLINEGEN返回T,否NIL
  75.       PLINEGEN是一个属性,引起线型生成是穿过整条POLYLINE,还是在每个单独的段起点终点闭合。
  76.       
  77. 279. xdrx_polyline_hasWidth

  78. 功能:测试POLYLINE是否有宽度。

  79. 调用格式:(xdrx_polyline_hasWidth <LWPOLYLINE实体名>)
  80.           (xdrx_polyline_hasWidth)  ;;对象栈顶
  81.          
  82. 返回值:布尔值,有宽度T 否NIL

  83. 280. xdrx_polyline_hasBulges

  84. 功能:测试POLYLINE是否包含弧段

  85. 调用格式:(xdrx_polyline_hasBulges <LWPOLYLINE实体名>)
  86.           (xdrx_polyline_hasBulges)  ;;对象栈顶
  87.          
  88. 返回值:布尔值,有弧段T 否NIL

  89. 281. xdrx_polyline_isOnlyLines

  90. 功能:测试POLYLINE是否仅仅由直线段组成

  91. 调用格式:(xdrx_polyline_isOnlyLines <LWPOLYLINE实体名>)
  92.           (xdrx_polyline_isOnlyLines)  ;;对象栈顶
  93.          
  94. 返回值:布尔值,是T 否NIL

  95. 282. xdrx_polyline_thickness

  96. 功能:获得POLYLINE的thickness

  97. 调用格式:(xdrx_polyline_thickness <LWPOLYLINE实体名>)
  98.           (xdrx_polyline_thickness)  ;;对象栈顶
  99.          
  100. 返回值:实数

  101. 283. xdrx_polyline_addVertexAt

  102. 功能:在指定索引位置处增加一个顶点

  103. 调用格式:(xdrx_polyline_addVertexat <LWPOLYLINE实体名> <index索引值> <点> [bulge值] [起始宽度][结束宽度])
  104.           (xdrx_polyline_addVertexat <index索引值> <点> [bulge值] [起始宽度][结束宽度])
  105.          
  106. 返回值:成功T, 否 NIL

  107. 说明:参数 [bulge值] [起始宽度][结束宽度]都为可选项,默认值都为0 ,后面的可选项若要设置必须前面的可选项也设置,但
  108.       该可选项后面的若要默认值,可以省略。
  109.       [bulge值]--实数,若加弧段给BULGE值。0退化为直线
  110.       [起始宽度],[结束宽度]--实数值或者整数值。
  111.       
  112. 284. xdrx_polyline_removeVertexAt

  113. 功能:移去一个顶点

  114. 调用格式:(xdrx_polyline_removeVertexAt <LWPOLYLINE实体名> <index索引值>)     
  115.           (xdrx_polyline_removeVertexAt  <index索引值>)   
  116.          
  117. 返回值:成功T 失败NIL

  118. 说明:移去一个定点,意味着该顶点后的曲线段也移去。

  119. 285. xdrx_polyline_setBulgeAt

  120. 功能:在指定的索引位置,设置BULGE值,即若该索引后的段是直线,则变成弧。
  121.       若是弧,则改变到新的BULGE         
  122.       
  123. 调用格式:(xdrx_polyline_setBulgeAt <lwpolyline实体名> <index索引> <bulge值>)
  124.           (xdrx_polyline_setBulgeAt <index索引> <bulge值>)

  125. 返回值:成功T,失败NIL

  126. 说明:参数bulge值为实数。

  127. 286. xdrx_polyline_setConstantWidth

  128. 功能:设置POLYLINE的等宽值

  129. 调用格式:(xdrx_polyline_setConstantWidth <lwpolyline实体名> <宽度值>)
  130.           (xdrx_polyline_setConstantWidth  <宽度值>)

  131. 返回值:成功T ,失败NIL

  132. 说明:参数<宽度值>为实数或者整数

  133. 287. xdrx_polyline_setElevation

  134. 功能:设置POLYLINE的ELEV

  135. 调用格式:(xdrx_polyline_setElevation <lwpolyline实体名> <ELEV值>)
  136.           (xdrx_polyline_setElevation <ELEV值>)
  137.          
  138. 返回值:成功T ,否NIL

  139. 288. xdrx_polyline_setNormal

  140. 功能:设置POLYLINE的拉伸矢量

  141. 调用格式:(xdrx_polyline_setNormal <lwpolyline实体名> <向量>)
  142.           (xdrx_polyline_setNormal <向量>)

  143. 返回值:成功T 否NIL

  144. 说明:<向量>以点的形式输入,如:(0 0 1)

  145. 289. xdrx_polyline_setPlinegen

  146. 功能:设置POLYLINE线型的PLINEGEN属性

  147. 调用格式:(xdrx_polyline_setPlinegen <lwpolyline实体名> [plinegen flag])
  148.           (xdrx_polyline_setPlinegen  [plinegen flag])

  149. 返回值:成功T,否NIL

  150. 说明:[plinegen flag]=T,线性穿过整条曲线,不给参数,线性在每个顶点起始,结束闭合线型。

  151. 290. xdrx_polyline_setPointAt

  152. 功能:修改指定索引处的顶点到新的顶点(不增加新顶点)

  153. 调用格式:(xdrx_polyline_setPointAt <lwpolyline实体名> <indexs索引> <新顶点>)
  154.           (xdrx_polyline_setPointAt <indexs索引> <新顶点>)

  155. 返回值:成功T 失败返回NIL

  156. 291. xdrx_polyline_setThickness

  157. 功能:设置POLYLINE的THICKNESS

  158. 调用格式:(xdrx_polyline_setThickness  <lwpolyline实体名> <thickness值>)   
  159.           (xdrx_polyline_setThickness  <thickness值>)
  160.          
  161. 返回值:成功T 失败NIL

  162. 292. xdrx_polyline_setWidthsAt

  163. 功能:修改指定索引值处下面段的起始、结束宽度

  164. 调用格式:(xdrx_polyline_setWidthsAt <lwpolyline实体名> <index索引> <起始宽度><结束宽度>)
  165.           (xdrx_polyline_setWidthsAt <index索引> <起始宽度><结束宽度>)
  166.          
  167. 返回值:成功T 失败NIL

  168. 说明:<起始宽度><结束宽度>:实数或者整数

  169. 293. xdrx_polyline_ConvertFrom

  170. 功能:从2DPOLYLINE(R13老多义线)转换得到LWPOLYLINE

  171. 调用格式:(xdrx_polyline_ConvertFrom <2dpolyline实体>)

  172. 返回值:成功T 失败返回NIL

  173. 说明:转换后,删除原来老POLY,用新LWPOLY代替
  174. [/FONT]
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-7-29 19:50:54 | 显示全部楼层
对于一般曲线,ARC,ELLIPSE,SPLINE等有函数得到等分点和指定距离间隔的点


  1. [FONT=courier new]
  2. 128. xdrx_getpointatdist

  3. 功能:返回AcDbCurve曲线上(line,polyline,lwpolyline,arc,circle,ellipse,spline)
  4.      距离参考点指定距离的点。或者直接返回指定距离间隔的所有点(从开始点到终止点)
  5.      
  6. 调用格式:(xdrx_getpointatdist <AcDbCurve实体名> [参考点] <距离间隔或者等分数>)

  7. 返回值:若[参考点]存在,则返回在曲线上到参考点指定距离的点,距离可正负。
  8.        若不给[参考点],则返回指定间隔距离的所有点表。
  9.       
  10. 说明:若参数<距离间隔或者等分数>,输入实数或者大于50的整数或者小于0的整数,均作为距离处理。
  11.      对于0和50之间的整数,作为等分段处理(内部数据库默认等分数最大为50)

  12. 129. xdrx_getperp[/FONT]
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-29 20:05:20 | 显示全部楼层
我见你做的一个等分辅助线程序应该差不多吧
有通用性更好但PL的直段是不用打折的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-7-29 20:16:24 | 显示全部楼层
最初由 mf7000 发布
[B]我见你做的一个等分辅助线程序应该差不多吧
有通用性更好但PL的直段是不用打折的 [/B]


MAX我不用,CAD的模型,导入MAX里面,如果是弧线的,有个系统变量能控制打折的精度,你用这个不可以解决MAX的问题吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-29 20:35:33 | 显示全部楼层
是有个系统变量能控制打折的精度,
但是满足大半径的时候,小半径的就特别密,信息量巨大 不可取
    满足小半径的时候,大半径的就不圆滑了,也不可取
最好的办法就是建模时,视半径大小提前打折
像上图的例子用系统变量控制也解决不了,只能看似光滑不能治本
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-30 13:33:25 | 显示全部楼层
XDSOFT,江南及各位斑竹,你们有空时能帮我解决这个问题吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-7-30 23:15:20 | 显示全部楼层
看了贴图,我认为是你分片不对。
纵向分片就没事了。

横向分片的话,角度设到3度以下,精度可以给受。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-7-31 00:33:04 | 显示全部楼层
程序已经修改,适合老的POLYLINE,请重新下载。

程序写好了,请试用,结果贴到论坛。


                               
登录/注册后可看大图


;|
   命令:curve2jx
   
   功能:解决CAD建模到MAX下,弧墙线可能遇到打折上下不均匀问题,在CAD里面可以把
        任意曲线(ARC,*POLYLINE,SPLINE,CIRCLE,ELLIPSE)用POLYLINE根据等分数
        模拟,对于POLYLINE实体只处理弧线段部分。
        程序考虑的UCS。

        程序配合XDRX_API build 20630+版本使用,朋友们可以把这个LISP拷贝到“晓东工具箱”的安装的
          LISP目录,自己加入到菜单里面就可以非常方便的使用了。
          关于程序的建议请到“晓东CAD空间-编程申请”论坛
          http://www.xdcad.net/forum留言         

|;

  1. [FONT=courier new]
  2. (defun c:curve2jx (/ $curve2jx_poly $curve2jx_curve intv ptl ptl1 pcir
  3.                      pstart1 pend1 bulges edata pstart pend vtype radius ss
  4.                      e na len lyr
  5.                   )
  6.   (defun $curve2jx_poly (e intv / vnums i vtype ptl1)
  7.     (setq vnums (xdrx_polyline_numverts e)
  8.           i -1
  9.     )
  10.     (repeat vnums
  11.       (setq vtype (xdrx_polyline_segtype e (setq i (1+ i))))
  12.       (cond
  13.         ((or
  14.            (= vtype "kLine")
  15.            (= vtype "kPoint")
  16.          )
  17.           (setq ptl (cons (xdrx_polyline_getPointAt e i) ptl))
  18.         )
  19.         ((= vtype "kArc")
  20.           (setq pstart1 (xdrx_polyline_getPointAt e i)
  21.                 pend1 (xdrx_polyline_getPointAt e (1+ i))
  22.                 bulges (xdrx_polyline_getBulgeAt e i)
  23.                 edata (xdrx_polytoarc pstart1 bulges pend1)
  24.                 edata (cdr edata)
  25.                 pcir (car edata)
  26.                 radius (nth 1 edata)
  27.                 pstart (polar pcir (nth 2 edata) radius)
  28.                 pend (polar pcir (nth 3 edata) radius)
  29.           )
  30.           (command "arc" "c" pcir pstart pend)
  31.           (setq ptl1 (xdrx_getsamplept (entlast) (1+ intv)))
  32.           (if (not (equal pstart1 (car ptl1) 1e-5))
  33.             (setq ptl1 (reverse ptl1))
  34.           )
  35.           (setq ptl1 (reverse (cdr (reverse ptl1))))

  36.           (entdel (entlast))
  37.           (setq ptl (append
  38.                       (reverse ptl1)
  39.                       ptl
  40.                     )
  41.           )
  42.         )
  43.       )
  44.     )
  45.   )
  46.   (defun $curve2jx_curve (e intv)
  47.     (setq ptl (xdrx_getpointatdist e intv))
  48.   )
  49.   (xdrx_begin)
  50.   (xdrx_ucson)
  51.   (if (null $curve2jx_intv)
  52.     (setq $curve2jx_intv 5)
  53.   )
  54.   (initget 2)
  55.   (setq intv (getint (strcat "\n请输入分弧等分数<" (itoa $curve2jx_intv)
  56.                              ">:"
  57.                      )
  58.              )
  59.   )
  60.   (if (not intv)
  61.     (setq intv $curve2jx_intv)
  62.   )
  63.   (setq $curve2jx_intv intv)
  64.   (prompt "\n请选取要进行分弧精度处理的曲线(ARC,POLYLINE,SPLINE,ELLIPSE,CIRCLE)<退出>:")
  65.   (if (setq ss (ssget '((0 . "arc,*polyline,spline,ellipse,circle"))))
  66.     (progn
  67.       (setq len (sslength ss))
  68.       (xdrx_setsstodb ss 0)
  69.       (while (setq e (xdrx_getentdata 0))
  70.         (setq na (xdrx_object_classname e))
  71.         (setq ptl nil)
  72.         (cond
  73.           ((wcmatch (car na) "*POLYLINE")
  74.             (setq lxd na)
  75.             (if (= (car na) "POLYLINE")
  76.               (xdrx_polyline_convertfrom e)
  77.             )
  78.             (setq e (entlast))
  79.             (if (xdrx_polyline_hasbulges e)
  80.               ($curve2jx_poly e intv)
  81.             )
  82.           )
  83.           (t
  84.             ($curve2jx_curve e intv)
  85.           )
  86.         )
  87.         (setq lyr (xdrx_getentdxf 8))
  88.         (entdel e)
  89.         (apply
  90.           'command
  91.           (cons "pline" (reverse ptl))
  92.         )
  93.         (command "")
  94.         (xdrx_setenttodb (entlast))
  95.         (xdrx_modent 8 lyr)
  96.       )
  97.       (prompt (strcat "\n已经处理了 " (itoa len) " 个曲线!"))
  98.     )
  99.   )
  100.   (xdrx_ucsoff)
  101.   (xdrx_end)
  102.   (princ)
  103. )
  104. [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-31 11:34:41 | 显示全部楼层
R14 不好使吗? 只适用R2K?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-10 11:42 , Processed in 0.218638 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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