找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1099|回复: 14

[编程申请]:面积,还是面积

[复制链接]
发表于 2003-11-25 08:58:19 | 显示全部楼层 |阅读模式

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

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

×
  CAD中默认的面积总是平方毫米,而常用的却总是平方米,所以CAD本身中两个面积命令很不好用(area和list(闭合pline的面积)),因为都是平方毫米,所以每次读数时非常费力,常常要用鼠标去数上6个数位,非常的费时间,也很费眼神,请高手编一个这两个命令的增强显示,把面积的单位变成平方米就可,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-11-25 15:10:27 | 显示全部楼层
好建议
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-26 03:24:54 | 显示全部楼层

Re: [编程申请]:面积,还是面积

最初由 黑心萝卜 发布
[B]  CAD中默认的面积总是平方毫米.. [/B]


不会吧? AutoCAD的单位只是个"画图"单位!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-26 11:41:52 | 显示全部楼层
对呀,不存在单位的问题啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-26 13:57:42 | 显示全部楼层
就算是存在,你不会在程序中提取一下前几位数字,进行换算一下就可以了呀。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-11-27 00:10:21 | 显示全部楼层

Re: Re: [编程申请]:面积,还是面积

最初由 lsjjm 发布
[B]

不会吧? AutoCAD的单位只是个"画图"单位! [/B]


知道,但是对于大多数图来说(我绘建筑),都是以毫米为单位的,而面积一般很少用平方毫米来表示
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-28 22:26:46 | 显示全部楼层
試試這個程序如何

  1. (defun c:aarea( )

  2.        (setvar "blipmode" 0)
  3.        (setvar "cmdecho" 0)
  4.        (setq aread nil)
  5.        (setq dfc1 (getvar "dimlfac"))
  6.        (if (= sca nil)(setq sca 100))
  7.        (setq sca1 sca)
  8.        (if (= txth1 nil)(setq txth1 (getvar "textsize")))
  9.        (setq txth2 (getvar "textsize"))
  10.        (setq cly (getvar "clayer"))
  11.        (command "layer" "m" "OUT-1" "c" 8 "OUT-1" "")
  12.        (command "layer" "s" cly "")

  13.        (setq en (entsel "\nSelect object cal area"))
  14.               (setq ensel en)
  15.               (setq endata (entget (car en)))
  16.               (setq stype (cdr (assoc 0 endata)))
  17.               (command "area" "o" en)
  18.               (command "chprop" en "" "c" "2" "")
  19.               (setq aread (getvar "area"))
  20.               (setq aread (* aread dfc1 dfc1))
  21.               (setq aread1 (/ aread sca1 sca1))
  22.               (setq aread (rtos (/ aread sca1 sca1) 2 2))

  23.    (dcl_area)
  24.    
  25.    (command "layer" "s" cly "")
  26. (prin1)
  27. )

  28. (prin1)


  29. (defun dcl_area()

  30.     (setq dcl_id (load_dialog "aarea"))
  31.     (new_dialog "aarea" dcl_id)

  32.     (set_tile "stype" stype)
  33.     (set_tile "aread" aread)
  34.     (set_tile "txth" (rtos txth1))
  35.     (set_tile "dfc" (rtos dfc1))
  36.     (set_tile "sca" (rtos sca1))
  37.     (setq defkey "type2")
  38.     (set_tile defkey "2")
  39.     (setq layset (get_attr defkey "label"))
  40.    
  41.     (action_tile "type1" "(setq layset (get_attr $key "label"))")
  42.     (action_tile "type2" "(setq layset (get_attr $key "label"))")

  43.    (action_tile "ins_ok" "(ok_area)(done_dialog 1)")
  44.    (setq dd(start_dialog))
  45.      (if (= dd 1)
  46.          (progn
  47.              (setq pt (getpoint "\ninsert point :"))
  48.              (setq aread (* (/ aread1 dfc1 dfc1) dfc dfc))
  49.              (setq aread (* (/ aread sca sca) sca1 sca1))
  50.              (setq aread (rtos aread 2 2))
  51.              (command "text" "m" pt txth1 0 aread)
  52.        (if (= layset "OUT-1")
  53.            (progn
  54.             (command "chprop" "L" "" "la" "OUT-1" "")
  55.             (command "chprop" en "" "la" "OUT-1" "")
  56.            )
  57.        )
  58.              (setvar "textsize" txth2)
  59.          )
  60.      )

  61.               (command "chprop" en "" "c" "bylayer" "")

  62. )
  63. (defun ok_area()

  64.     (setq txth1 (atof (get_tile "txth")))
  65.     (setq dfc (atof (get_tile "dfc")))
  66.     (setvar "dimlfac" dfc)
  67.     (setq sca (atof (get_tile "sca")))

  68. )
  69. (prin1)

  70. aarea:dialog{
  71.   label="計算長度";
  72.   :concatenation {
  73.      :text_part {label="選到";}
  74.       :text {width=12;key="stype";}
  75.   }
  76.   :concatenation {
  77.       :text_part {label="面積";}
  78.       :text {width=12;key="aread";}
  79.    }
  80. // spacer_1;
  81.   :edit_box{
  82.       label="textsize";
  83.       key= "txth";
  84.       edit_width=8;
  85.       edit_limit=8;
  86.       fixed_width=true;
  87.   }
  88. // spacer_1;
  89.   :edit_box{
  90.       label="dimlfac ";
  91.       key= "dfc";
  92.       edit_width=8;
  93.       edit_limit=8;
  94.       fixed_width=true;
  95.   }
  96. // spacer_1;
  97.   :edit_box{
  98.       label="scale 1/";
  99.       key= "sca";
  100.       edit_width=8;
  101.       edit_limit=8;
  102.       fixed_width=true;
  103.   }

  104.   :boxed_radio_row{
  105.       label="layer";
  106.       :radio_button{label="bylayer";key="type2";}
  107.       :radio_button{label="OUT-1";key="type1";}
  108.   }
  109.    spacer_1;
  110.   :row{
  111.       fixed_width = true;
  112.       alignment = centered;
  113.      :button{
  114.         label="插入文字";
  115.         key="ins_ok";
  116.         width=8;
  117.     }
  118.     : spacer {width = 2;}
  119.     cancel_button;
  120.   }
  121. }


版主题示:含DCL的程序最好再编译一个VLX文件,方便不熟悉Lisp网友使用,谢谢    eachy
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-11-28 23:29:26 | 显示全部楼层
好东东,非常好用
现在小东下下载文件怎么都变成attchment了,害得我一阵好找
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-29 08:42:43 | 显示全部楼层
怎么用啊我不知道如何使用dcl能指导一下吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-29 12:25:17 | 显示全部楼层
怎样将这个命令的快捷键设置成“AA”?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-29 13:41:25 | 显示全部楼层
最初由 wb0815 发布
[B]怎么用啊我不知道如何使用dcl能指导一下吗 [/B]


將程序放在工作檔支援路徑下或開啟檔案所在的資料夾下,載入程序後執行"aarea"自動出現dcl畫面

最初由 zxp发布
[B]怎样将这个命令的快捷键设置成“AA”?[/B]


在acad.pgp中增加一行
  AA,   *AAREA
開啟acad.pgp一看就知道
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-7 20:11:09 | 显示全部楼层

Re: Re: Re: [编程申请]:面积,还是面积

最初由 黑心萝卜 发布
[B]

知道,但是对于大多数图来说(我绘建筑),都是以毫米为单位的,而面积一般很少用平方毫米来表示 [/B]


你不能把毫米理解作米吗?1:1000的图上一毫米相当于实地一米,如果图上的面积是100平方毫米也就是实地100平方米嘛·
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-8 00:57:42 | 显示全部楼层
下面这段程序是我从网上七拼八凑来的,被我改过一些,已经用了多时了,感觉很不错!介绍一下:
1,可以计算多义线的面积,如果绘图单位是毫米,则计算结果为米,并且可以标注于图上。(当前“文字样式“高度应设置为0方可,字高及精度可在程序中调整)。命令:vv
2,可将图中多个数字相加,并标注于图中。命令:ra
3,可将图中多个数字相减,并标注于图中。命令:ea
相信楼主能用上。(如无需标注,单击鼠标右键即可)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-8 06:21:08 | 显示全部楼层
最初由 zxp 发布
[B]怎样将这个命令的快捷键设置成“AA”? [/B]


或者ET工具:Tools-Command Alias Editor.重新设置aa=aarea
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-23 08:19:40 | 显示全部楼层

恩,很有启发

确实不错
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-20 19:30 , Processed in 0.216183 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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