明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4812|回复: 10

[求助]怎样在2002中求型心

[复制链接]
发表于 2003-7-1 22:39:00 | 显示全部楼层 |阅读模式
请问有没有什么可以快速求pline型心的工具,求出型心希望能自动标注出型心的位置。
大虾帮帮忙!急
walkmanlh@21cn.com
发表于 2003-7-2 08:28:00 | 显示全部楼层
;;For polyline
(defun CENTROID        ()
  (setq        POLY  (car (entsel "\nPick polyline: "))
        LIS   (MAKEPOINTLIS POLY)
        N     (* 1.0 (length LIS))
        TOTAL (list
                (apply '+ (mapcar 'car LIS))
                (apply '+ (mapcar 'cadr LIS))
              )
  )
  (setq        X1 (/ (car TOTAL) N)
        Y1 (/ (cadr TOTAL) N)
  )
  (command "_.POINT" (list X1 Y1))
  (prompt (strcat "\n型心=(" (rtos X1) "," (rtos Y1) ")"))
  (princ)
)


(defun DXFEG (C E) (cdr (assoc C (entget E))))

(defun DXF (C E) (cdr (assoc C E)))

(defun MAKEPOINTLIS (E / EG LIS)
  (setq LIS NIL)
  (cond
    ((= "LWPOLYLINE" (DXFEG 0 E))
     (setq EG (entget E))
     (while
       (setq EG (member (assoc 10 EG) EG))
        (setq LIS (cons (cdar EG) LIS)
              EG  (cdr EG)
        )
     )
     (reverse LIS)
    )
    ((= "OLYLINE" (DXFEG 0 E))
     (while
       (and
         (setq E (entnext E))
         (setq EG (entget E))
         (/= "SEQEND" (DXFEG 0 E))
       )
        (setq LIS (cons (DXF 10 EG) LIS))
     )
     (reverse LIS)
    )
    (t (alert " not a polyline ") NIL)
  )
)
 楼主| 发表于 2003-7-2 14:40:00 | 显示全部楼层
本帖最后由 作者 于 2003-7-2 21:52:19 编辑

请问下斑竹,这个东西怎么用,我太不会lisp 。用2002加载了,但是什么命令?
不好意思了!
我这样试了下就好象可以了,是否对?
给看看!
defun CENTROID 里加了个c:
能否继续完善下它,想让他标出不是点,而是一个直线的十字

龙哥,帮了个大忙,这样免了好多辛苦事。
感谢ing.
发表于 2003-7-2 17:14:00 | 显示全部楼层
1.命令是這樣
  (centroid)

2.一个直线的十字
指令: pdmode
輸入 PDMODE 的新值<0>: 2
发表于 2004-8-1 09:15:00 | 显示全部楼层
没告诉怎么用
发表于 2004-8-1 09:39:00 | 显示全部楼层
(setvar "pdmode" 2)或(command "pdmode" 2)
发表于 2004-8-4 18:27:00 | 显示全部楼层
异型的形状也可以吗?
发表于 2004-8-5 17:50:00 | 显示全部楼层
本来也想写个这程序的,试试吧再说。


TSSD的只能对矩形示形心。
发表于 2007-7-20 11:22:00 | 显示全部楼层
经我实测..(我没有去细读程序)..与tssd2006的求形心及利cad将pline转成region后列表的质量特性有相当大的误差!..估计是算法问题

本帖子中包含更多资源

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

x
发表于 2007-7-27 23:38:00 | 显示全部楼层

这个方法求的型心不一定在多边形内哦!  对与凹多边形,此程序求的型心在多边形外面了,

有没有一种方法,求出一个点一定在多边形里面呢,让它与中心位置最接近,我问了很多人他们都说没有这种固定的心,请问大家有简单的办法吗?

因为我现在在做一个程序,我想在区域里面标号,但是这个标号一定不能在闭合多边形外,最好最接近多边形的中心位置!

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

本版积分规则

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

GMT+8, 2024-10-1 07:47 , Processed in 0.189067 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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