找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 644|回复: 1

[求助] [求助]:为什么有的实体读不出来面积?

[复制链接]
发表于 2003-7-27 21:16:36 | 显示全部楼层 |阅读模式

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

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

×
如何避免这类情况?
如何依次读出多段线的端点和分出是弧还是线段?
还有如何取出曲面的面积?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-7-27 21:39:20 | 显示全部楼层

Re: [求助]:为什么有的实体读不出来面积?

最初由 ago9999 发布
[B]如何避免这类情况?
如何依次读出多段线的端点和分出是弧还是线段?
还有如何取出曲面的面积? [/B]


下面是 XDRX_API 关于 POLYLINE 实体的提供的所有ARX实现的函数供LISP调用

  1. [font=courier]
  2. 264. xdrx_polyline->2dpolyline

  3. 功能:将LWPOLYLINE转换成2DPOLYLINE,转换后ID不变,扩展实体,扩展词典不变

  4. 调用格式:(xdrx_polyline->2dpolyline <LWPOLYLINE实体名>)

  5. 返回值:成功T 否 NIL

  6. 265. xdrx_objectstack_push

  7. 功能:将对象入系统栈,供以后调用

  8. 调用格式:(xdrx_objectstack_push <对象名>)

  9. 返回值:成功T 否NIL

  10. 说明:系统栈数据结构:一个先入后出的表,一个数据入栈后,当前栈顶数据依次下压,
  11.      对栈的操作只能取栈顶的元素。
  12.      
  13.      对象名:以ADS NAME实体名表示的对象名,以后同。
  14.      
  15. 266. xdrx_objectstack_pop

  16. 功能:将栈顶数据弹出堆栈(删除栈顶元素)

  17. 调用格式:(xdrx_objectstack_pop)

  18. 返回值:若栈不空T,否NIL

  19. 267. xdrx_objectstack_top

  20. 功能:获得系统栈定的数据(对象)

  21. 调用格式: (xdrx_objectstack_top)

  22. 返回值:对象名   

  23. 268. xdrx_polyline_numVerts

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

  25. 调用格式: (xdrx_polyline_numVerts <LWPOLYLINE对象名>)
  26.            (xdrx_polyline_numVerts)
  27.            
  28. 返回值:成功返回整数,否 NIL

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

  30. 269. xdrx_polyline_segtype

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

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

  34. 返回值:字符串

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

  36. 270. xdrx_polyline_getArcSegAt

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

  38. 调用格式:(xdrx_polyline_getArcSegAt <LWPOLYLINE对象名> <顶点位置>)
  39.           (xdrx_polyline_getArcSegAt <顶点位置>)
  40.          
  41. 返回值:  (圆心 半径 起始角 终止角)

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


  44. 271. xdrx_polyline_getLineSegAt

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

  46. 调用格式:(xdrx_polyline_getLineSegAt <LWPOLYLINE对象名> <顶点位置>)
  47.           (xdrx_polyline_getLineSegAt <顶点位置>)
  48.          
  49. 返回值:  (起点 终点)

  50. 例子 Command: (xdrx_polyline_getlinesegat (car (entsel)) 1)
  51.      Select object: ((45221.1 5134.88 0.0) (47427.0 16648.4 0.0))
  52.      
  53. 272. xdrx_polyline_getPointAt

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

  55. 调用格式:(xdrx_polyline_getPointgAt <LWPOLYLINE实体名> <顶点索引位置>)
  56.           (xdrx_polyline_getPointgAt <顶点索引位置>)   
  57.          
  58. 返回值:点

  59. 273. xdrx_polyline_getWidthsAt

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

  61. 调用格式:(xdrx_polyline_getWidthsAt <LWPOLYLINE实体名> <顶点索引位置>
  62.           (xdrx_polyline_getWidthsAt <顶点索引位置>   
  63.          
  64. 返回值:(起始宽度 终止宽度)

  65. 274. xdrx_polyline_getBulgeAt

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

  67. 调用格式:(xdrx_polyline_getBulgeAt <LWPOLYLINE实体名> <顶点索引位置>)
  68.           (xdrx_polyline_getBulgeAt <顶点索引位置>)
  69.          
  70. 返回值:实数

  71. 275. xdrx_polyline_onSegAt

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

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

  77. 276. xdrx_polyline_elevation

  78. 功能:获得POLYLINE的ELEV

  79. 调用格式:(xdrx_polyline_elevation <LWPOLYLINE实体名>)
  80.           (xdrx_polyline_elevation)  ;;对象栈顶
  81.          
  82. 返回值:实数

  83. 277. xdrx_polyline_getConstantWidth

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

  85. 调用格式:(xdrx_polyline_elevation <LWPOLYLINE实体名>)
  86.           (xdrx_polyline_elevation)  ;;对象栈顶
  87.          
  88. 返回值:实数

  89. 278. xdrx_polyline_hasPlinegen

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

  91. 调用格斯:(xdrx_polyline_hasPlinegen <LWPOLYLINE实体名>)
  92.           (xdrx_polyline_hasPlinegen)  ;;对象栈顶
  93.          
  94. 返回值:布尔值T或者NIL

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

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

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

  104. 280. xdrx_polyline_hasBulges

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

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

  110. 281. xdrx_polyline_isOnlyLines

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

  112. 调用格式:(xdrx_polyline_isOnlyLines <LWPOLYLINE实体名>)
  113.           (xdrx_polyline_isOnlyLines)  ;;对象栈顶
  114.          
  115. 返回值:布尔值,是T 否NIL

  116. 282. xdrx_polyline_thickness

  117. 功能:获得POLYLINE的thickness

  118. 调用格式:(xdrx_polyline_thickness <LWPOLYLINE实体名>)
  119.           (xdrx_polyline_thickness)  ;;对象栈顶
  120.          
  121. 返回值:实数

  122. 283. xdrx_polyline_addVertexAt

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

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

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

  134. 功能:移去一个顶点

  135. 调用格式:(xdrx_polyline_removeVertexAt <LWPOLYLINE实体名> <index索引值>)     
  136.           (xdrx_polyline_removeVertexAt  <index索引值>)   
  137.          
  138. 返回值:成功T 失败NIL

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

  140. 285. xdrx_polyline_setBulgeAt

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

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

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

  148. 286. xdrx_polyline_setConstantWidth

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

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

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

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

  154. 287. xdrx_polyline_setElevation

  155. 功能:设置POLYLINE的ELEV

  156. 调用格式:(xdrx_polyline_setElevation <lwpolyline实体名> <ELEV值>)
  157.           (xdrx_polyline_setElevation <ELEV值>)
  158.          
  159. 返回值:成功T ,否NIL

  160. 288. xdrx_polyline_setNormal

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

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

  164. 返回值:成功T 否NIL

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

  166. 289. xdrx_polyline_setPlinegen

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

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

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

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

  172. 290. xdrx_polyline_setPointAt

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

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

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

  177. 291. xdrx_polyline_setThickness

  178. 功能:设置POLYLINE的THICKNESS

  179. 调用格式:(xdrx_polyline_setThickness  <lwpolyline实体名> <thickness值>)   
  180.           (xdrx_polyline_setThickness  <thickness值>)
  181.          
  182. 返回值:成功T 失败NIL

  183. 292. xdrx_polyline_setWidthsAt

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

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

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

  190. 293. xdrx_polyline_ConvertFrom

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

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

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 12:05 , Processed in 0.367825 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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