香田里浪人
发表于 2014-1-3 07:10:15
试试这个单体面积标注
(defun c:dmj()
(setvar "cmdecho" 0)
(setq cth (rtos (getvar "textsize")))
(setq TextHeight (getdist (strcat "\n输入标注文字高度 < " cth " > : ")))
(if (= TextHeight nil)(setq TextHeight cth))
(command "style" "tukou" "黑体" "0" "" "0" "" "")
(command "layer" "M" "面积标注" "C" "1" "" "LT" "CONTINUOUS" "" "");设置一个标注图层
(defun maketext (txt pt) ; 生成文字子函数
(entmake (list '(0 . "TEXT")
(cons 62 3)
(cons 10 pt)
(cons 40 TextHeight)
(cons 1 txt)
'(41 . 0.8)
)
)
)
(setq pt (getpoint "\n选取点:"))
(while pt
(setvar "cecolor" "1")
(command "bpoly" pt "")
(setq en (entlast))
(if (/= en nil)
(progn
(command "area" "o" en)
(setq aa (getvar "area"))
(redraw en 3)
(setq bb (strcat "S=" (rtos aa 2 2 )"㎡"))
(setq pt1 (getpoint "请指定面积书写位置:"))
(command "_text" pt1 TextHeight "" bb 0)
)
)
(entdel en)
(setvar "cecolor" "bylayer")
(setq pt (getpoint "\n选取点:"))
)
(prin1)
)
注册
发表于 2014-1-3 07:44:17
(princ "\n㏑bmz")
(princ "\n夹ボだ澄跋办縩璸衡そΑの")
注册
发表于 2014-1-3 07:44:48
乱码不能识别汉字呢
Atsai
发表于 2014-1-3 08:34:07
注册 发表于 2014-1-3 07:44 static/image/common/back.gif
乱码不能识别汉字呢
lsp源码是繁体版本,所以可能要转成简体,显示才会正常。
香田里浪人
发表于 2014-1-3 14:22:51
Atsai 发表于 2014-1-2 22:50 static/image/common/back.gif
三角形面积是海龙公式,上网查一下就可以了解原理了。
被楼主宣传成史上最强大…直是不好意思。
源 ...
缺陷:任意多边形面积不能计算
香田里浪人
发表于 2014-1-3 14:27:06
Atsai 发表于 2014-1-2 22:50 static/image/common/back.gif
三角形面积是海龙公式,上网查一下就可以了解原理了。
被楼主宣传成史上最强大…直是不好意思。
源 ...
只能标示:圆、弓形、扇形、三角形、矩形、平形四边形及梯形等 7 种,但不能标示任意多边形,期望高手补充。
Atsai
发表于 2014-1-3 15:38:49
本帖最后由 Atsai 于 2014-1-3 17:29 编辑
香田里浪人 发表于 2014-1-3 14:27 static/image/common/back.gif
只能标示:圆、弓形、扇形、三角形、矩形、平形四边形及梯形等 7 种,但不能标示任意多边形,期望高手补充 ...
任意多边形要列公式,这个真的蛮难的,大概只能利用行列式法求面积了。
但是任意多边形可以切割成基本的三角形及矩形,应该就解决了。
ponww
发表于 2014-1-3 17:01:12
好程式謝謝分享
魔卡猪猪
发表于 2014-1-3 20:44:04
我是来膜拜大神的,虽然附件我也下载不了
5664491
发表于 2014-1-5 17:49:41
我是来膜拜大神的