尊敬的Autodesk小组成员,特别是所有程序员,我需要您在这一主题上的帮助(如果有人能在这方面帮助我,那将非常棒)
我希望为我的AUTOCAD 2017项目需要创建一个LISP。
我想用自定义命令在特定层中创建一个矩形,然后我想在运行时给该矩形加上L&W,这样在完成/在命令中间,我将得到所需大小的矩形,然后在创建矩形后,我想得到一条弹出消息,autocad将要求我提供默认情况下要放置在所创建矩形中心的矩形的名称。
我想为要创建的不同矩形执行此操作。
我创建了自定义命令来创建特定的当前矩形层,然后使用下面的代码创建了矩形。我已经10年没有接触过LISP写作了&忘记了大部分事情,我以前的代码在新版本中无法使用。有人能帮我吗。这将是一个很大的帮助,从你,提前感谢你的支持同样。我急需它。
- (defun _SetCLayer (layerName)
- (if (tblsearch "layer" layerName)
- (setvar 'clayer layerName)
- (prompt
- (strcat "\n** Layer "" layerName "" not found ** ")
- )
- )
- (princ)
- )
- (defun c:ACDB () (_SetCLayer "AC_DB") (command "RECTANG" "")) - in this autocad is also giving some violations.
- (defun c:ACON () (_SetCLayer "AIR_CON") (command "RECTANG"))
- (defun c:FBAT () (_SetCLayer "BATTERY") (command "RECTANG"))
- (defun c:FBEN () (_SetCLayer "BUILDING_ENVELOPE") (command "RECTANG"))
- (defun c:FCAB () (_SetCLayer "CABINET") (command "RECTANG"))
- (defun cCDB () (_SetCLayer "DC_DB") (command "RECTANG"))
- (defun c:FDEF () (_SetCLayer "Defpoints") (command "RECTANG"))
- (defun c:FPDI () (_SetCLayer "DIMENSIONS") (command "RECTANG"))
- (defun c:FPDR () (_SetCLayer "DOORS") (command "RECTANG"))
- (defun C:FFED () (_SetCLayer "FEEDER") (command "RECTANG"))
- (defun c:FPLD () (_SetCLayer "FLOOR_LEGEND") (command "RECTANG"))
- (defun c:IMGI () (_SetCLayer "Image") (command "RECTANG"))
- (defun c:FOTR () (_SetCLayer "OTHER") (command "RECTANG"))
- (defun c:FRAK () (_SetCLayer "RACK") (command "RECTANG"))
- (defun c:FREF () (_SetCLayer "RECTIFIER") (command "RECTANG"))
- (defun c:FTEX () (_SetCLayer "TEXT") (command "RECTANG"))
- )
- In past i used below command to give text, which is now not working
- (defun C:ACDBT ()
- (setq bldg_no (strcase (getstring "/n Type the ACDB NO: ")))
- (setq bldgno (strcat "ACDB" bldg_no))
- (polbldgno)
- (command "clayer" "AC_DB" "" "text" fspt txtht angpts bldgno "")
- )
最后,我的要求是我必须创建平面图:
1.当前特定层中的矩形,我应该在其中弹出以给出L和W。
2.该矩形中心的文本“在连接特定文本后,弹出窗口仅输入数字”
3.在创建所有矩形后,我希望通过选择它们一次性为所有矩形提供尺寸。 |