找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 772|回复: 8

[原创]:建筑面积 公摊面积 处理命令

[复制链接]
发表于 2005-8-19 12:34:42 | 显示全部楼层 |阅读模式

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

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

×
sss  命令 得出闭合曲线面积
add  命令 把闭合曲线面积相加 (算总面积)
gta  命令 算公摊
提供源代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-8-22 12:57:40 | 显示全部楼层
上当了,
sss 命令 得出闭合曲线面积
gta 命令 算公摊
用不起来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-22 15:49:10 | 显示全部楼层
不会啊。。。请先建一个 名为  SS  的层 怎会那么不厚道 骗你呢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-22 16:21:48 | 显示全部楼层
命令: sss
选择对象: 指定对角点: 找到 2 个
已滤除 2 个。
选择对象:
Error: 参数类型错误: lselsetp nil.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2005-8-22 17:39:51 | 显示全部楼层
to  4楼
请先建 一名为SS 的土层 谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2005-8-24 19:05:45 | 显示全部楼层
确实有问题,公布出来,大家评评。
1.为什么闭合曲线一定要在ss层上?
2.(SETQ SSS5 (ASSOC'1(ENTGET SSS4)))得到什么结果?


  1. [FONT=courier new];;*****************************************************************
  2. ;;**                      闭合曲线面积                           **
  3. ;;*****************************************************************
  4. (defun c:SSS (/ LC SSS1 SSS2 SSS3 SSS4 SSS5 SSS6 SSS7 SSS8)
  5.   (setvar "cmdecho" 0)
  6.   (command "osnap" "none")
  7.   (setq Lc (getvar "cLayer"))
  8.   (command "layer" "s" "SS" "")
  9.   (setq SSS1 (ssget '((8 . "SS"))))
  10.   (setq SSS2 0)
  11.   (setq SSS3 (ssLength SSS1))
  12.   (SETQ SSS7 0)
  13.   (repeat SSS3                       
  14.     (setq SSS4 (ssname SSS1 SSS2))
  15.     (SETQ SSS5 (ASSOC'1(ENTGET SSS4)))
  16.     (SETQ SSS6 (ATOF(SUBSTR (CDR SSS5) 3)))
  17.     (setq SSS2 (1+ SSS2))
  18.     (SETQ SSS7 (+ SSS6 SSS7))
  19.   )
  20.   (PROMPT (STRCAT "\nTOTAL AREA IS : " (RTOS SSS7 2 2)))
  21.   (setq SSS8 (getpoint "\nInsertion point for total value: "))
  22.   (command "._text" "middle" SSS8)
  23.   (if (= 0.0 (cdr (assoc 40 (tblsearch "style" (getvar "textstyle")))))
  24.            (command "" "" (STRCAT "S=" (RTOS SSS7 2 2) "M^2"))
  25.            (command "" (STRCAT "S=" (RTOS SSS7 2 2) "M^2"))
  26.         )
  27.   (command "Layer" "S" Lc "")
  28.   (PRINC)
  29. )

  30. ;;*****************************************************************
  31. ;;**                      曲线面积相加                           **
  32. ;;*****************************************************************
  33. ; Total area of closed polylines (c) Chris Hardwicke 1996

  34. (DEFUN C:ADD ()
  35.   (PROMPT "\n(c) Chris Hardwicke 1996")
  36.   (PROMPT "\nSELECT AREAS TO ADD TOGETHER: ")
  37.   (SETQ P_AREA 0)
  38.   (SETQ SS (SSGET))
  39.   ;(SETQ AREA_FILE (OPEN "AREAS.FIL" "a"))
  40.   (WHILE (> (SSLENGTH SS) 0)
  41.     (SETQ EN (SSNAME SS 0))
  42.     (SETQ ED (ENTGET EN))
  43.     (SETQ AS (CDR (ASSOC '0 ED)))
  44.     (IF (AND (OR (= AS "POLYLINE") (= AS "LWPOLYLINE")) (= (CDR (ASSOC '70 ED)) 1))
  45.       (PROGN
  46.         (COMMAND "AREA" "O" EN)
  47.         (SETQ P_AREA (/ (+ P_AREA (GETVAR "AREA")) 1000000))
  48.         ;(WRITE-LINE (RTOS (GETVAR "AREA") 2 2) AREA_FILE)
  49.         (SSDEL EN SS)
  50.       )
  51.       (SSDEL EN SS)
  52.     )
  53.   )
  54.   ;(CLOSE AREA_FILE)
  55.   (setq Lc (getvar "cLayer"))
  56.   (command "layer" "N" "SS" "")
  57.   (command "layer" "S" "SS" "")
  58.   (PROMPT (STRCAT "\nTOTAL AREA IS : " (RTOS P_AREA 2 2)))
  59.   (setq txtPt (getpoint "\nInsertion point for total value: "))
  60.   (command "._text" "middle" txtpt)
  61.   (if (= 0.0 (cdr (assoc 40 (tblsearch "style" (getvar "textstyle")))))
  62.              (command "" "" (STRCAT "S=" (RTOS P_AREA 2 2) "M^2"))
  63.              (command "" (STRCAT "S=" (RTOS P_AREA 2 2) "M^2"))
  64.             )
  65.   (command "Layer" "S" Lc "")

  66. )
  67. ;;*****************************************************************
  68. ;;**                      算公摊                                 **
  69. ;;*****************************************************************
  70. (defun c:gta (/ LC gta1 gta2 gta3 gta4 gta5 gta6 gta7 gta8)
  71.   (setvar "cmdecho" 0)
  72.   (command "osnap" "none")
  73.   (setq Lc (getvar "cLayer"))
  74.   (command "layer" "s" "SS" "")
  75.   (setq gta01 (nentsel "取分摊面积:"))
  76.   (setq gta02 (nentsel "取总面积:"))
  77.   (setq gta03 (assoc 1 (entget (car gta01)))
  78.         gta04 (ATOF(SUBSTR (CDR gta03) 3)))
  79.   (setq gta05 (assoc 1 (entget (car gta02)))
  80.         gta06 (ATOF(SUBSTR (CDR gta05) 3)))
  81.   (setq gta07 (- 1(/ gta04 gta06)))
  82.   (setq gta1 (ssget '((8 . "SS") )))
  83.   (setq gta2 0
  84.         gta3 (ssLength gta1))                         
  85.   (setq gta4 (ssname gta1 gta2))
  86.   (SETQ gta5 (ASSOC'1(ENTGET gta4)))
  87.   (SETQ gta6 (ATOF(SUBSTR (CDR gta5) 3)))
  88.   (SETQ gta6 (/ gta6 gta07))
  89.   (PROMPT (STRCAT "\nTOTAL AREA IS : " (RTOS gta6 2 2)))
  90.   (setq gta8 (getpoint "\nInsertion point for total value: "))
  91.   (command "._text" "middle" gta8)
  92.   (if (= 0.0 (cdr (assoc 40 (tblsearch "style" (getvar "textstyle")))))
  93.            (command "" "" (STRCAT "S=" (RTOS gta6 2 2) "M^2"))
  94.            (command "" (STRCAT "S=" (RTOS gta6 2 2) "M^2"))
  95.         )
  96.   (command "Layer" "S" Lc "")
  97.   (PRINC)
  98. )[/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-27 15:25 , Processed in 0.430389 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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