rlx 发表于 2022-7-5 19:05:13

你能上传(部分)带有你遇到问题的属性的图形/块吗?

rlx 发表于 2022-7-5 19:10:29

 
 
顺便说一句。。。我这里有autocad 2012,所以您有更高版本,请将其保存为2012文件格式gr.rlx。
 
 
顺便说一句,如果你键入(entget(car(entsel)),并选择属性,它显示什么,它是属性还是其他?

Bloodhurt 发表于 2022-7-5 19:11:39

很抱歉没有回复。。没有看到这个帖子的第二页

基本上你可以看到,我有这样的东西,我需要选择里面的所有东西,基点在白色记录的左下角,并将其保存为dxf R12。
 
我正在使用ZWCAD 2015(一些同事使用了2014)。
 
//现在,我为此编写了一些其他的lisp,也使用了wblock命令,但比您的简单得多:

(defun c:DXFY ()
(command "filedia" 0)
;; dxf name
(SETQ Match (NENTSEL "\nSelect Attribute or Text: "))
(command "chprop" Match "" "color" "t" "100,100,100" "")
(IF (= Match NIL)(ALERT "Please Select Attribute or Text..."))
(IF (/= NIL Match)
(PROGN
(SETQ Match (ENTGET (CAR Match)))
)
)
(SETQ Text(CDR(ASSOC 1 Match)))
;;copy base

(command "copy" (ssget) "" (setq pnt1 (getpoint "\nZaznacz lewy dolny rog ramki ISO: ")) pnt1)
(command "select" "previous" "")
(command "group" "" "1234" "" "previous" "" )
(command "move" "group" "1234" "" pnt1 "0,0")
;;wblock function
(command "-wblock" Text "yes"pnt1 "group" "1234" "")
;;defun ends
(command "group" "e" "1234")
(command "filedia" 1)
)

 
我有两个问题:
1.我需要在选择文件名处的属性时添加一些循环,这样它就不会继续执行(现在是这样)
2.dxf文件格式不是R12
 
我将再添加一个东西来缩放选定对象的视图,但我想这不会是一个问题

Bloodhurt 发表于 2022-7-5 19:19:25

好的,我已经解决了文件格式的第二个问题,并添加了缩放部分,只是循环的事情,我在家;D

rlx 发表于 2022-7-5 19:21:20


(defun c:XFY ()
   (command "filedia" 0);; dxf name
   (while (SETQ Match (NENTSEL "\nSelect Attribute or Text: "))
      (progn
            (command "chprop" Match etc etc
      )
    )
    (command "filedia" 1)
)

 
gr.Rlx
页: 1 [2]
查看完整版本: 新建文件LISP