cadsterdyne 发表于 2022-7-5 17:06:56

Princ到屏幕

嗨,Cadtutors
 
有谁能告诉我如何调用text命令,这样无论结果如何,我都“服从”命令行。
我希望能够通过文本命令将其粘贴到屏幕上,选择一个“princ”结果可以放置在模型空间中的点。
 
 
;|ARSQ, Area and Perimeter of Rectangle when Length and Width are known
   

Variables
len   Length of Rectangle
wid           Width of Rectangle   |;

(defun c:arsq()
(setq len ( getreal "\nEnter Length Of Rectangle \n"))
(setq wid ( getreal "\nEnter Widh Of Rectangle \n"))
(setq peri (* len wid))
(princ (strcat "\nThe Area Of Rectangle is = " (rtos peri 2 4 ) " Sqm"))
(setq are (* 2 (+ len wid)))
(princ (strcat "\nThe Perimeter Of Rectangle is = " (rtos are 2 4 ) " Sqm"))
(princ)
)
 
提前谢谢。
卡德斯特丁

Tharwat 发表于 2022-7-5 17:15:40



(defun c:arsq (/ len wid pnt are per)
(and (setq len (getreal "\nEnter Length Of Rectangle :"))
      (setq wid (getreal "\nEnter Widh Of Rectangle :"))
      (setq are (strcat "The Area Of Rectangle is = " (rtos (* len wid) 2 4) " Sqm"))
      (setq per (strcat "The Perimeter Of Rectangle is = " (rtos (* 2 (+ len wid)) 2 4) " Sqm"))
      (princ (strcat "\n" are))
      (princ (strcat "\n" per))
      (setq pnt (getpoint "\nSpecify text location :"))
      (entmake (list '(0 . "MTEXT") '(100 . "AcDbEntity") '(100 . "AcDbMText")
          (cons 10 (trans pnt 1 0))
          (cons 40 (* (getvar "DIMSCALE") 2.0))
          (cons 7 (getvar 'TEXTSTYLE))
          (cons 1 (strcat are "\\P" per))
      )
   )
)
(princ)
)

cadsterdyne 发表于 2022-7-5 17:24:33

正是我说的塔尔瓦!
非常感谢你。
 
我可以看到您添加到代码中的更改。由于我是AutoLISP的初学者,您能告诉我在哪里可以查找有关调用命令的详细信息吗?
我看你没有用
command ".text"
以实现上述要求。我甚至不知道这是否存在。或者这是正确的方法,我想了解更多关于各种命令的代码格式。我希望我在传达我想学的东西。
 
再次感谢。

Tharwat 发表于 2022-7-5 17:25:25

不客气
 
实际上,我使用了entmake函数,而不是命令调用,这在所有情况下都更好,特别是当你有许多要创建的对象时,速度因素会迫使它自己在这个环中。此外,编程不是命令的使用,除非你没有更好的方法去实现你的程序目标。
 
点击此处了解有关entmake函数的更多信息。

cadsterdyne 发表于 2022-7-5 17:33:42

谢谢你的启迪。注意要点。

Tharwat 发表于 2022-7-5 17:38:48

很高兴听到这个。

samifox 发表于 2022-7-5 17:47:20

非常好的塞尔瓦!

Tharwat 发表于 2022-7-5 17:50:53

非常感谢samifox的回复。非常感谢。
 
如果你把我的名字写对了,你会很好的。

BIGAL 发表于 2022-7-5 17:56:48

cadsterdyne使用命令时,可以使用开关。-\u如果我没记错的话,我正在努力寻找细节。是一种语言,因此德国Autocad会将命令视为如此。只需在命令行中键入LA,看看会发生什么,然后执行LA一个例子,如果在lisp中使用命令时经常需要说-hatch,这样就不会打开拨号,并且会填充一个区域。

cadsterdyne 发表于 2022-7-5 18:05:43

 
谢谢BIGAL,我知道这可以为快速的工作流程增加什么了。谢谢分享。
页: [1] 2
查看完整版本: Princ到屏幕