找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 690|回复: 2

[原创]:规划初期用来统计小区户型栋数,面积的程序

[复制链接]
发表于 2004-5-11 20:31:33 | 显示全部楼层 |阅读模式

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

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

×
最近做一个60万小区的规划,编了一个程序,用来计算各种户型的栋数、面积等。
很简单,但节省了大量时间,快速准确。
到后期要计算各种户型的比例和指标了,程序随着设计进度走。
等完成了再传上来。
的算法好像是从论坛学来的,多谢原作者了。



(defun c:bbb (/ c03 c08 c04 c05 c07 c06 c09 c01 c02)
        (setq c03 (getvar "viewctr") ;求屏幕坐标
c03 (trans c03 1 2)
c08 (getvar "viewsize")
c04 (getvar "screensize")
c07 (car c04)
c06 (cadr c04)
c09 (/ (* c08 c07) c06)
c01 (list (- (car c03) (* 0.5 c09)) (- (cadr c03) (* 0.5 c08)))
c02 (list (+ (car c03) (* 0.5 c09)) (+ (cadr c03) (* 0.5 c08)))
        c01 (trans c01 2 1)
        c02 (trans c02 2 1))

           (setq T1 (sslength(ssget  "c" c01 c02 (list (cons 2 "t1") '(0 . "insert")))))
        (setq T2 (sslength(ssget  "c" c01 c02 (list (cons 2 "t2") '(0 . "insert")))))
        (setq T3 (sslength(ssget  "c" c01 c02 (list (cons 2 "t3") '(0 . "insert")))))

    (setq total ( + t1 t2 t3));表达栋数 及 面积
   (alert (strcat "\nSmall   " (itoa t1) "\nMiddle  " (itoa t2) "\nLarge   " (itoa t3) "\nTotal   " (itoa total) "\nArea   " (rtos ( + (* t1 320) (* t2 400)(* t3 600)) 2 0 )))
  (princ )
)


(defun c:bba (/ blk_na ss) ;求块数量
        (setq blk_na (cdr(assoc '2 (entget (car (entsel))))))
    (setq ss (ssget  (list (cons 2 blk_na) '(0 . "insert"))))
    (prompt (strcat "当前选择块" blk_na "的数量是  " (itoa (sslength ss))))
  (princ )
)


(defun c:bbc ( / pts);分期计算,选择分期线
        (setq ent (nentsel "\nSelect a Polyline: "))
          (foreach i (entget (car ent))
                 (if (= 10 (car i)) (setq pts (cons (cdr i) pts)) ))
        (reverse pts)
      
        (setq t1 (sslength(ssget  "cp" pts (list (cons 2 "T1") '(0 . "insert")))))
        (setq t2 (sslength(ssget  "cp" pts (list (cons 2 "T2") '(0 . "insert")))))
        (setq t3 (sslength(ssget  "cp" pts (list (cons 2 "T3") '(0 . "insert")))))
    (setq total ( + t1 t2 t3))
    (prompt (strcat "\nSmall   " (itoa t1) "\nMiddle  " (itoa t2) "\nLarge   " (itoa t3) "\nTotal   " (itoa total) "\nArea   " (rtos ( + (* t1 320) (* t2 400)(* t3 600)) 2 0 )))
  (princ )
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-6-14 01:19:01 | 显示全部楼层
看不懂
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-6-14 09:14:07 | 显示全部楼层
老兄 偶也是规划的
向你学习,你规划的小区多大?连多少栋也要程序吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-10 08:25 , Processed in 0.171404 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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