structo 发表于 2022-7-5 16:48:01

房间尺寸Lisp请求

大家好,朋友们,
 
根据以下规则,我需要一个lisp用于自动房间尺寸:
 
1) 选择房间的第一个左上角点
2) 选择房间的右下角点
 
3) 从列表中选择房间描述文字
 
a) 从预定义选项中选择不同的选项。如果选择“1”选项,则文本为“C.BOX Room”
b) 如果选择“2”,则房间名称放置为“Gen.room”
c) 如果选择“3”,则房间名称为“Waiting.room”
d) 如果选择“4”,则房间名称为“会议厅”
e) 如果选择“5”,则房间名称为“厨房.房间”
 
4) 然后将房间尺寸开发为(例如,我从命令提示符中选择第4个选项),
 
会议门厅
28'0“x25'4½”
 
请参见样品图。
 
谢谢

房间尺寸。图纸

ReMark 发表于 2022-7-5 16:52:23

看起来上图中有一些冗余。你有自己的尺寸,你在房间名称下调用它们。一个或另一个不够吗?

structo 发表于 2022-7-5 16:55:15

 
感谢朋友的回复,
 
是的,我需要足够的预定义房间名称代码。我需要通过选择房间或街区的两个角落来自动化几个街区或房间。
 
非常感谢。

hanhphuc 发表于 2022-7-5 17:00:07

 
几乎相似的旧螺纹
你可以自己调整,这里的许多活跃成员将指导你

Grrr 发表于 2022-7-5 17:02:48

我的拍摄:

(defun C:test ;| credits to: Lee Mac |; ( / Lst p1 p2 choice )
(setq Lst
        '(
                ("1" . "C.BOX Room")
                ("2" . "Gen.Room")
                ("3" . "Waiting.Room")
                ("4" . "Conference.Hall")
                ("5" . "Kitchen.Room")
        )
); setq

(if
        (and
                (setq p1 (getpoint "\nSpecify first point: "))
                (setq p2 (getcorner p1 "\nSpecify second point: "))
                (not (initget 1 (apply 'strcat (mapcar '(lambda (x) (strcat x " ")) (mapcar 'car Lst)))))
                (setq choice (getkword (strcat "\nSpecify option [" (vl-string-right-trim "/" (apply 'strcat (mapcar '(lambda (x) (strcat x "/")) (mapcar 'car Lst)))) "]: ")))
                (setq
                        p1 (trans p1 1 0)
                        p2 (trans p2 1 0)
                )
        )       
        (entmakex
                (list
                        (cons 0 "MTEXT")         
                        (cons 100 "AcDbEntity")
                        (cons 100 "AcDbMText")
                        (cons 10 (apply 'mapcar (cons '(lambda (a b) (/ (+ a b) 2.)) (list p1 p2))))
                        (cons 1
                                (strcat
                                        (cdr (assoc choice Lst))
                                        "\\P" (rtos (abs (apply '- (mapcar 'car (list p1 p2)))) 2 2) "x" (rtos (abs (apply '- (mapcar 'cadr (list p1 p2)))) 2 2)
                                )
                        )
                        (cons 71 5)
                )
        )
)
(princ)
)
 
很抱歉,我们不使用英制单位,因此必须由其他人为您修复。

structo 发表于 2022-7-5 17:06:28

 
谢谢韩的回复,
 
我会看到你的链接。
 
谢谢

structo 发表于 2022-7-5 17:08:39

 
哇,好球Grr朋友和李Mac朋友,
 
我将等待英尺和英寸单位(英制单位),这是在样例图形格式中提到的。
 
非常感谢。

structo 发表于 2022-7-5 17:10:40

 
嗨,韩,
 
我看到了你的链接。我需要从该线程中进行一些调整。
 
1) 请添加房间名称描述选项。
2) 文本开发为(例如)12’,而不是12’-0”
 
非常感谢。

structo 发表于 2022-7-5 17:13:57

嗨,朋友们,
 
请修改英尺和英寸单位(英制单位)Grr代码(Post#5)。我很感激你的帮助。
 
谢谢大家。

maratovich 发表于 2022-7-5 17:19:21

使用此宏:
房间昏暗。拉链
页: [1] 2
查看完整版本: 房间尺寸Lisp请求