xyp1964 发表于 2004-7-27 22:30:00

封闭域面积标注程序

本帖最后由 作者 于 2004-8-15 11:49:08 编辑 <br /><br /> 建筑设计,特别是住宅设计,面积问题是大家最关心的,就象咱家的客厅如果当时能大上几平米,咱的朋友就都能来了!


下面提供一个封闭域面积标注程序供参考,特别是建筑师朋友。


---------------------------


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<BR>;;;fbymj.lsp 封闭域面积(标注)<BR>;;;单位:平方米;画图单位1:1<BR>;;;-- <A href="mailto:XYP@bsedi.com" target="_blank" >XYP@bsedi.com</A><BR>;;;2004.07.27<BR>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<BR>(prompt "\n\r                                       加载封闭域面积标注程序。")<BR>(defun c:fbymj(/ pt pt1 en aa)<BR>       (cmdla0)<BR>       (setq pt (getpoint "\n选取封闭域内一点: "))<BR>       (while pt<BR>                       (setq pt1 pt)<BR>                       (mkla"封闭域辅助线"8)<BR>                       (command "bpoly" pt "")<BR>                       (setq en (entlast))<BR>                       (if        (/= en nil)<BR>                                       (progn<BR>        (command "area" "o" en)<BR>        (setq aa (getvar "area"))<BR>        (redraw en 4);1标准2空白3高亮4低亮


;;;如果是总图或测量专业,画图单位为米时,下句中1000000.0应改为1.0       


;(alert (strcat "面积=" (rtos (/ aa 1000000.0) 2 2)));;;此句可以显示面积数(单位平方米)<BR>                                       )<BR>                       )<BR>                       ;(entdel en);;;此句可以删除“封闭域辅助线”<BR>                       (mkla"面积标注"4)


;;;如果是总图或测量专业,画图单位为米时,下句中1000000.0应改为1.0<BR>                       (command"text""mc" pt1 "300" "0" (rtos (/ aa 1000000.0) 2 2))<BR>                       (setq pt (getpoint "\n选取封闭域内一点: "))<BR>       )<BR>       ;(prin1)<BR>       (cmdla1)<BR>       (pxyp"fbymj                                       (封闭域面积)")<BR>)<BR>;;; 保存原有系统变量,设置程序运行时的系统变量<BR>(Defun cmdla0 ()<BR>       (Setq        cmdech (Getvar "Cmdecho")<BR>        oom                       (Getvar "Orthomode")<BR>        osm                       (Getvar "Osmode")<BR>        la                               (Getvar "Clayer")<BR>       )<BR>       (Setvar "Cmdecho" 0)<BR>       (Setvar "Regenmode" 0)<BR>)


;;; 建图层: (mala "层名" 颜色号)<BR>(Defun MKLA (a b)<BR>       (If (= (Tblsearch "layer" a) nil)<BR>                       (Command "layer" "m" a "c" b a "")<BR>                       (Command "layer" "t" a "s" a "c" b a "")<BR>       )<BR>)


;;; 恢复原有系统变量<BR>(Defun cmdla1 ();(/ cmdech LA oom osm)<BR>       (Setvar "Cmdecho" cmdech)<BR>       (Setvar "Clayer" LA)<BR>       (Setvar "Orthomode" oom)<BR>       (Setvar "Osmode" osm)<BR>       (setvar "regenmode" 1)<BR>       (Terpri)<BR>       (Princ)<BR>)


;;;* 显示命令简写<BR>(DEFUN PXYP (TXT1)<BR>       (SETQ        TXT1 (STRCAT "\n\r                                       程序命令: "       TXT1 "                                       -- <A href="mailto:XYP@bsedi.com" target="_blank" >XYP@bsedi.com</A>"))<BR>       (PRINC TXT1)<BR>       (Princ)<BR>);defun


(pxyp"fbymj                                       (封闭域面积)")


-------------------------


请讨论和指教。














-------------------------
使用中有问题请回复!

lbg 发表于 2004-8-14 16:29:00

CAD中有面积标注。

chxhi 发表于 2004-8-22 22:19:00

为太明白

bbsong 发表于 2006-8-13 13:15:00

不能调标注字体大小?还有为什么标注的单位好像是平方公里?改成米行么?

flowerson 发表于 2008-4-18 00:01:00

能增加一个功能,把封闭曲线的层名写出来吗?谢谢!

yansu 发表于 2008-7-31 12:51:00

<p>能否编写一个自动标注封闭矩形为长X宽的形式,单位为毫米的程序吗?谢谢了!</p>

zili422 发表于 2009-1-9 16:36:00

<p>好东西,我怎么下不了</p>

wangyl 发表于 2009-6-10 14:55:00

为什么标注出来都是0?

Charrybao 发表于 2009-11-23 15:03:00

<p>怎麼改變標注的大小啊?</p><p>還有能修改設置嗎?</p><p>爲什麽我選中后沒有單位啊?</p><p></p>

ljttjl 发表于 2009-11-23 19:43:00

<p><a href="http://www.mjtd.com/BBS/index.asp" style="CURSOR: hand;">明经CAD社区</a> → <a href="http://bbs.mjtd.com/forum.php?mod=forumdisplay&fid=22">行业篇</a> → <a href="http://bbs.mjtd.com/forum.php?mod=forumdisplay&fid=32&amp;page=">测绘与GIS</a> → 自动标注选择区域的封闭图形的面积和周长程序 </p><p><a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=72983&amp;replyID=&amp;skin=1">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=72983&amp;replyID=&amp;skin=1</a></p>
页: [1] 2
查看完整版本: 封闭域面积标注程序