免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 6833|回复: 24
收起左侧

[技术交流] 自用房地一体上图快捷键,工具及源码分享给大家

    [复制链接]

8

主题

1万

铜板

31

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
1612

地信元老地信专家组名人堂勋章灌水勋章宣传勋章

发表于 2020-8-19 08:50 | 显示全部楼层 |阅读模式
#1混房命令 HF(defun c:HF ()   (command "DD" "141161")    (princ)  )#2砖房命令 ZF(defun c:ZF ()   (command "DD" "141121")    (princ)  )#3一般房屋命令 YB(defun c:YB ()   (command "DD" "141101")    (princ)  )#4棚房房屋命令 PF(defun cF ()   (command "DD" "141500")    (princ)  )#5复制命令 Q(defun c ()   (command "copy")    (princ)  )#6偏移命令 D(defun c ()   (command "offset")    (princ)  )#7构造线命令 1(defun c:1 ()   (command "xline")    (princ)  )#8测量命令 2(defun c:2 ()   (command "distuser")    (princ)  )#9檐廊命令 YL(defun c:YL ()   (command "DD" "143130")    (princ)  )#10门顶命令 MD(defun c:MD ()   (command "DD" "143800")    (princ)  )#11刷新屏幕命令 3(defun c:3 ()   (command "regen")    (princ)  )#12楼梯命令 LT(defun cT ()   (command "DD" "143400")    (princ) )#13保存命令 P(defun c:P ()   (command "qsave")    (princ)  )
#14修改建筑物属性命令 5(defun c:5 ()   (command "JZWXX")    (princ)  )#15搜索命令 6(defun c:6 ()   (command "FIND")    (princ)  )
#16重展房屋注记命令 4(defun c:4 ()   (command "REGENBUILDTEXT")    (princ)  )
#16标注边长命令 BZ(defun c:BZ();边长注记  (setq os(getvar  "osmode" ))(setvar "osmode" 0)  (setq sskent(ssget '((0 . "lwpolyline"))))  (setq ssl(sslength sskent))  (setq i 0)  (command "style"  "宋体"  "STSONG.TTF" "0.3"  "1" "0" "n" "n" );;;  (setq num (getint "请键入一个数字:"))  (while (< i ssl )    (setq ssn(ssname sskent i))        (tqjl ssn )  (setq i(1+ i) ))   (setvar "osmode" os)  ) ;;;);;;)      (princ)   ;1if

(defun  tqjl(ssn);提取距离  (setq n 0)  (setq y 0);;;  (setq li10 nil)  (setq li1 nil li2 nil)  (setq li0 nil)  ;;;(setq ssn(ssname ss i))(setq ssdata(entget ssn))
            (repeat (- (length ssdata) 1);提取多段线顶点列表                           (setq tmp (car (nth n ssdata)))                        (cond               ((= tmp 10)(progn ;(setq li10(nth n ssdata))                                                        (setq li1(cdr(nth n ssdata)))                            (if (= li0 nil )                            (setq li0 li1)                              )                            (if (/= li2 nil)                             (progn                            (setq sjl(rtos (distance li1 li2)  2 2))                            (setq hd(angle li2 li1))                            (if (and (> hd 1.5708  )(< hd 6.26))(setq hd( + hd 3.14159)));;;                            (if (and (> (- hd 1.5708)0)(< (- hd 3.14159)0)) (setq hd(+ hd 3.14159)))                            (setq jd(angtos hd 0 4))                                                        (setq zd(mapcar '/ (mapcar '+ li1 li2) '(2 2 2)))                            (command "text"  "j" "bc" zd    jd sjl)                             )                                                                                                          )                            (setq li2(cdr(nth n ssdata)));;;                           (setq li10 (append (list (nth n ssdata)) li10)));找到顶点就添加进列表;;;                                 (setq s (strcat   "pt" "," (rtos (nth 1 li10) 2 3) "," (rtos (nth 2 li10) 2 3))));;;               (write-line s ff);;;                            (if (> n (- (length ssdata)3));;;                            (progn;;;                            (setq sjl(rtos (* (distance li0 li1) 0.4) 2 2));;;                            (setq jd(angtos (angle li0 li1)0 4));;;                            (setq zd(mapcar '/ (mapcar '+ li0 li1) '(2 2 2)));;;                            (command "text"  "j" "bc" zd   "0" jd sjl);;;                             );;;                              )                            (setq y (1+ y))               )))                                                        (setq n (1+ n))           )           (if (AND (> y 2) (>= (cdr(ASSOC  70 SSDATA )) 128))           (progn                            (setq sjl(rtos  (distance li0 li1) 2 2))                         (setq hd(angle li1 li0));;;                             (if (> (- hd 3.14159)0) (setq hd(+ hd 3.14159)))                            (setq jd(angtos hd 0 4))                                                         (setq zd(mapcar '/ (mapcar '+ li0 li1) '(2 2 2)))                                                         (command "text"  "j" "bc" zd    jd sjl)                             ))  ;;;      (setq sjl1(cdr(car li10)));;;          (setq sjl2(cdr(cadr li10)));;;    (setq sjll(distance sjl1 sjl2))              ;;; (setq i(1+ i))  )(princ)

BDC-WL.zip

2.56 KB, 下载次数: 303

12

主题

3017

铜板

8

好友

助理工程师

Rank: 5Rank: 5

积分
392
发表于 2020-8-19 09:50 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

3

主题

2万

铜板

13

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1497
发表于 2020-8-20 09:53 | 显示全部楼层
好东西,必须赞
回复 支持 反对

使用道具 举报

3

主题

5586

铜板

14

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
417
发表于 2020-8-21 07:54 | 显示全部楼层
虽然你提供了插件,但是你这个有点搞不懂,混乱不堪。启动命令啥的都没有。
回复 支持 反对

使用道具 举报

8

主题

1万

铜板

31

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
1612

地信元老地信专家组名人堂勋章灌水勋章宣传勋章

 楼主| 发表于 2020-8-22 00:35 手机频道 | 显示全部楼层
天空~3 发表于 2020-8-21 07:54
虽然你提供了插件,但是你这个有点搞不懂,混乱不堪。启动命令啥的都没有。

appload加载,只是快捷键,不需要启动命令。
回复 支持 反对

使用道具 举报

4

主题

1690

铜板

19

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
1194
发表于 2020-8-29 10:19 | 显示全部楼层
看不懂后面尺寸标注 还有就是用了尺寸标注命令后出来text是什么原因
回复 支持 反对

使用道具 举报

8

主题

1万

铜板

31

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
1612

地信元老地信专家组名人堂勋章灌水勋章宣传勋章

 楼主| 发表于 2020-8-29 19:00 | 显示全部楼层
youshijie1 发表于 2020-8-29 10:19
看不懂后面尺寸标注 还有就是用了尺寸标注命令后出来text是什么原因

这个我也不太明白,我还没遇到过
回复 支持 反对

使用道具 举报

4

主题

1690

铜板

19

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
1194
发表于 2020-8-30 15:24 | 显示全部楼层
你自己的你不知道?
回复 支持 反对

使用道具 举报

8

主题

1万

铜板

31

好友

地信专家组

Rank: 14Rank: 14Rank: 14Rank: 14

积分
1612

地信元老地信专家组名人堂勋章灌水勋章宣传勋章

 楼主| 发表于 2020-8-30 15:40 手机频道 | 显示全部楼层
youshijie1 发表于 2020-8-30 15:24
你自己的你不知道?

自用,都是网上搜集来的。
回复 支持 反对

使用道具 举报

4

主题

760

铜板

2

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
431
发表于 2020-11-5 17:44 | 显示全部楼层
学习  学习
回复 支持 反对

使用道具 举报

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

本版积分规则

在线客服
快速回复 返回顶部 返回列表