把圆转为多段线LSP

;;;Written By: Jason Piercey 07.31.01;Revised: 01.16.02 To handle multiple selection
;;;把圆转为多段线
[code]
(defun C:C2Pl (/ CirEnt  CirElst  CirCen  CirRad  CirLay
                       CirLin  CirClr  CirLts  PlineEnt
                       ss i );ss1)

(setq ss (ssget '((0 . "CIRCLE"))))
 
(if ss
(progn
(setq i 0 );ss1 (ssadd))
(repeat (sslength ss)
(setq CirEnt (ssname ss i)
CirElst (entget CirEnt)
CirCen  (cdr (assoc 10 CirElst))
CirRad  (cdr (assoc 40 CirElst))
CirLay  (cdr (assoc  8 CirElst))
CirLin  (cdr (assoc  6 CirElst))
CirClr  (cdr (assoc 62 CirElst))
CirLts  (cdr (assoc 48 CirElst))
)
(setq PlineEnt (list '(0 . "LWPOLYLINE")
                     '(100 . "AcDbEntity")
                      (cons 8 CirLay)
                     '(100 . "AcDbPolyline")
                     '(90 . 2)
                     '(70 . 1)
                     '(43 . 0.0)
                     '(38 . 0.0)
                     '(39 . 0.0)
                     (cons 10 (polar CirCen (* pi) CirRad))
                     '(40 . 0.0)
                     '(41 . 0.0)
                     '(42 . 1.0)
                     (cons 10 (polar CirCen (* pi 2.0) CirRad))
                     '(40 . 0.0)
                     '(41 . 0.0)
                     '(42 . 1.0)
                     '(210 0.0 0.0 1.0)
                     )
            )
     (if CirLin (setq PlineEnt (append PlineEnt (list (cons 6 CirLin)))))
     (if CirClr (setq PlineEnt (append PlineEnt (list (cons 62 CirClr)))))
     (if CirLts (setq PlineEnt (append PlineEnt (list (cons 48 CirLts)))))
     (entmake PlineEnt)
     (entdel CirEnt)
     (setq i (1+ i))
     )
    )
  ) 
;(ssget "p")
(princ (strcat "\n"(itoa i) " Circles converted to LwPolylines"))
(princ)
)
[/code]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
等高线是指在地理信息系统中将具有相同高程值的点连接起来形成的线,常用于描述地形地貌特征。而复合线是指由多个线段组成的线,每个线段可以是直线、曲线等,常用于描述道路、河流等线状要素。 在LSP(Line Simplification Plugin)插件中对等高线和复合线的处理,可以通过以下几个步骤来实现: 1. 数据导入: 将地理数据包括等高线和复合线导入LSP插件,通常可以通过导入矢量数据文件(如shapefile)的方式完成此步骤。 2. 化简等高线:使用LSP插件中的等高线化简算法,根据一定的精度要求将等高线数据进行化简,以减少点的数量,提高数据的绘制效率。常用的等高线化简算法包括道格拉斯-普克算法和Visvalingam-Whyatt算法。 3. 分割复合线LSP插件中可以使用线分割算法,将复合线分割成多个线段。线分割算法通常基于拓扑关系,将复合线根据节点或交点进行分割,以便对每个线段进行个别的处理。 4. 处理复合线段:对每个复合线段进行处理,可以根据具体需求进行操作,如线段长度的计算、线段的向分析等。此外,还可以应用其他地理分析方法,如线段的缓冲区分析、线段的投影等。 5. 结果导出: 处理完成后的等高线和复合线数据可以导出到矢量数据文件中,以便在地理信息系统中进行进一步分析和显示。 总结起来,LSP插件是一个用于处理等高线和复合线的工具,通过其提供的算法和功能,可以对等高线进行化简,并对复合线进行分割和进一步处理,以满足不同的地理信息需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yueliang2100

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值