明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3464|回复: 8

[编程申请]:自动标立面、剖面的标高的小程序

[复制链接]
发表于 2004-7-30 20:26 | 显示全部楼层 |阅读模式
最近做一个20多层的建筑,发现标立面剖面的标高真是个大工程,可不可以请高手做一个小程序,可以输入层高、层数等参数后,可自动生成标高,点插入点然后各标高就在自己所标注高度的位置…… 像这样的 谢谢大家了
发表于 2004-7-31 15:18 | 显示全部楼层
方法:将压缩文件中的“$bg.dwg”放到路径下,加载lpmbg.lsp程序,运行lpmbg。 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;lpmbg.lsp 立剖面标高
;;;* CPMBG
;;;-- XYP@bsedi.com
;;;2004.07.31
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(prompt "\n\r 加载立剖面标高程序。")
;-------------------------------------------
;;;主程序
(DEFUN CPMBG (/ pt0 x0 y0 y n)
(CMDLA0)
(setvar "osmode"39)
(MKLA "立剖面标高" 3)
(WHILE (NOT (SETQ pt0 (getpoint "\n\t确定±0.000标高位置点 : "))))
(setq H-ceng (ureal 1 "" "层高(m)" h-ceng))
(setq n-ceng (ureal 1 "" "层数" n-ceng))
(setvar "osmode"0)
(command "ucs" "o" pt0)
(setq y0 0 n 0 pt0 (list 0 0))
(while (< n (+ 1 n-ceng))
(setq y (* (/ y0 1000.0) (GETVAR "DIMLFAC"))
y (rtos y 2 3)
)
(if (= y0 0)
(command "INSERT" "$BG" pt0 SC SC "0" "±0.000");$BG为标高图块,可以自定义
(command "INSERT" "$BG" pt0 SC SC "0" y)
)
(setq n (+ 1 n))
(setq y0 (* n 1000.0 h-ceng))
(setq pt0 (list 0 y0))
)
(command "ucs" "")
(CMDLA1)
(pxyp"lpmbg (立剖面标高)")
) ;;;-------------------------------------------
;;;子程序
;;;
(defun CMDLA0 ()
(setq cmdech (GETVAR "CMDECHO"))
(setq oom (getvar "orthomode"))
(setq osm (getvar "osmode"))
(SETQ LA (getvar "clayer"))
(setvar "regenmode" 1)
(SETVAR "CMDECHO" 0)
) ;;;
(defun CMDLA1 ()
(SETVAR "CMDECHO" cmdech)
(setvar "orthomode" oom)
(setvar "osmode" osm)
(setvar "clayer" LA)
(setvar "regenmode" 1)
) ;;;
(defun ureal (bit kwd msg def / inp)
(if def
(setq msg (strcat "\n" msg "<" (rtos def 2) ">: ")
bit (* 2 (fix (/ bit 2)))
)
(setq msg (strcat "\n" msg ": "))
)
(initget bit kwd)
(setq inp (getreal msg))
(if inp inp def)
) ;;;
(Defun MKLA (a b)
(If (= (Tblsearch "layer" a) nil)
(Command "layer" "m" a "c" b a "")
(Command "layer" "t" a "s" a "c" b a "")
)
) ;;;
(DEFUN PXYP (TXT1)
(SETQ TXT1 (STRCAT "\n\r 程序命令: " TXT1 " -- XYP@bsedi.com"))
(PRINC TXT1)
(Princ)
);defun ;;;
(pxyp"lpmbg (立剖面标高)") ;-------------------------------------------
;;;END

本帖子中包含更多资源

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

x

评分

参与人数 1金钱 +1 激情 +1 收起 理由
zfbj + 1 + 1 【好评】好程序

查看全部评分

发表于 2011-11-18 21:09 | 显示全部楼层
真得很好用啊谢谢
发表于 2011-11-22 23:40 | 显示全部楼层
有点意思啊
发表于 2013-5-11 19:56 | 显示全部楼层
有点感觉,呵呵
发表于 2013-8-14 13:28 | 显示全部楼层
有点意思啊
发表于 2022-11-18 08:55 | 显示全部楼层
xyp1964 发表于 2004-7-31 15:18
方法:将压缩文件中的“$bg.dwg”放到路径下,加载lpmbg.lsp程序,运行lpmbg。

确定±0.000标高位置点 :
层高(m)<3.00>:

层数<3.00>:
未知命令“0”。按 F1 查看帮助。
未知命令“±0.000”。按 F1 查看帮助。
未知命令“0”。按 F1 查看帮助。
未知命令“3.000”。按 F1 查看帮助。
未知命令“0”。按 F1 查看帮助。
未知命令“6.000”。按 F1 查看帮助。
未知命令“0”。按 F1 查看帮助。
未知命令“9.000”。按 F1 查看帮助。

点评

现在都用动态块了,无需编程  发表于 2022-11-18 13:33
发表于 2022-11-26 13:28 | 显示全部楼层
私信我, 了解详细需求后, 用高级语言实现.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-6 05:34 , Processed in 0.261143 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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