大家好,很抱歉我的英语不好!
这是我创建的lisp例程,用于插入具有属性的块。第一个属性是当前文件名,不带文件扩展名。我需要这个属性的值是一个字段,而不是一个文本字符串,但我不知道如何修改“fext”变量来做到这一点。
块名为identiant,属性标记为PAEPCODE。
- (defun c:ai ()
- (vl-load-com)
- (setvar "luprec" 2)
- (setvar "clayer" "510_textes légendes")
- (if (= (setq txtcam (car (entsel "\n Nr camera: "))) nil)
- (setq nrcam "")
- (progn
- (setq nrcam (cdr (assoc 1 (entget txtcam))))
- (prompt (strcat "\n" " " nrcam))
- )
- )
- (if (= (setq txttipcam (car (entsel "\n Tip camera: "))) nil)
- (setq tipcam "")
- (progn
- (setq tipcam (cdr (assoc 1 (entget txttipcam))))
- (prompt (strcat "\n" " " tipcam))
- )
- )
- (if (= (setq txth (car (entsel "\n Inaltime camera: "))) nil)
- (setq hcam "")
- (progn
- (setq enth (entget txth))
- (setq npr (cdr (assoc 1 enth)))
- (setq pcar (substr npr 1 4))
- (if (= pcar "HSFP")
- (setq hcam (substr npr 6))
- (if (= pcar "HSP ")
- (setq hcam (substr npr 5))
- (setq hcam npr)
- )
- )
- (prompt (strcat "\n" " " hcam))
- )
- ;(setq hcam (cdr (assoc 1 (entget txth))))
- )
- (setq nddw (getvar "dwgname"))
- (setq fext (substr nddw 1 (- (strlen nddw) 4)))
- (setq plli (CAR (ENTSEL "\nPick polyline: ")))
- (setq arrea (VLA-GET-AREA (VLAX-ENAME->VLA-OBJECT plli)))
- (command "insert" "Identifiant" pause "" "" "" fext nrcam tipcam arrea hcam "chauffé")
- (princ)
- )
|