乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: MiGo

[编程交流] 所有块的选择集w

[复制链接]

15

主题

71

帖子

56

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 15:09:56 | 显示全部楼层
 
如果我在布局选项卡中工作,但通过mspace中的视口工作,这会起作用吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:13:28 | 显示全部楼层
 
六羟甲基三聚氰胺六甲醚。。。不确定,试一试,让我们知道
回复

使用道具 举报

13

主题

146

帖子

136

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2022-7-6 15:16:20 | 显示全部楼层
这是及时的。我正在努力改进工作中的LISP程序,恐怕没有一个太成功。这是很久以前写的。我只需要做一个调整。
对于所有属性块的选择集,如何从该集中选择标记形状的值为R的所有块?
 
以下是我试图将其融入其中的常规。我试着评论这个程序来帮助我学习,但即使有参考资料和许多有用的autolisp网站,我也没有走多远,正如你所见。
 
 
  1. (defun DXF (code elist)                              ;
  2. (cdr (assoc code elist))                           ;
  3. )                                                    ;
  4. (defun C:BOXQA ( / frst tbdata elist edata llist)    ; Name the function and initialize variables
  5. (setq data "")                                      ; Set data equal to "". Why? the variable isn't used anywhere that I can see.
  6. (setq count 0)                                      ; Set Count = zero
  7. (setq ss1 (ssget "X" '((0 . "INSERT")(66 . 1))))    ; Go Get every "INSERT" and put it in SS1
  8. (if ss1                                             ; See if SS1 has anything in it
  9. (progn                                             ; If SS1 is not empty, run the program, else exit
  10.   (setq emax (sslength ss1))                        ; Set EMAX equal to the number of INSERTS (?) in SS1
  11.   (while (< count emax)                             ; while Count is less than EMAX
  12.    (setq en (ssname ss1 count))                     ; Set EN equal to the Entity Name of whatever is in SS1 for the current Count.
  13.    (setq count (+ count 1))                         ; Increment the Count (Count = Count +1)
  14.    (setq ed (entget en))                            ; Set ED equal to something.
  15.                                                     ; From here down I cannot follow the program.
  16.    (setq blknm (dxf 2 ed))                          ; unknown
  17.    (while (/= "SEQEND" (dxf 0 ed))                  ; unknown
  18.     (setq en (entnext en))                          ; unknown
  19.     (setq ed (entget en))                           ; unknown
  20.     (setq tag (dxf 2 ed))                           ; unknown
  21.     (setq val (dxf 1 ed))                           ; unknown
  22.     (if (/= "SEQEND" (dxf 0 ed))                    ; unknown
  23.      (progn                                         ; unknown
  24.   (if (= "BOXSIZE" TAG)                      ; If BOXSIZE is a TAG(?)
  25.                                                     ; If a TAG name BOXSIZE exists(?)
  26.                                                     ; If BOXSIZE value is not empty(?)
  27. ;BOXSIZE is the TAG for a value that gives the upper left and lower right points.
  28.     (progn                                       ; unknown
  29.      (setq ttval (read val))                     ; unknown
  30.      (setq ul (list (car ttval) (cadr ttval)))   ; unknown
  31.      (setq lass (cdr ttval))                     ; unknown
  32.      (setq lr (list (caddr ttval) (caddr lass))) ; unknown
  33.      (setq p2 (list (car ul) (cadr lr) ))        ; unknown
  34.      (setq p4 (list (car lr) (cadr ul) ))        ; unknown
  35.      (grdraw ul p2 1 4)                          ; unknown
  36.      (grdraw p2 lr 1 4)                          ; unknown
  37.      (grdraw ul p4 1 4)                          ; unknown
  38.      (grdraw p4 lr 1 4)                          ; unknown
  39.     )                                            ; progn 3
  40.       )                                             ; endif 3
  41.      )                                              ; progn 2
  42.     )                                               ; endif 2
  43.    )                                                ; while 2
  44.   )                                                 ; while 1
  45. )                                                  ; progn 1
  46. )                                                   ; endif 1
  47. (prompt "\n Done")                                   ; Display "Done" in command line
  48. (princ)
  49. )                                                    ; end
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:18:39 | 显示全部楼层
你希望这个程序做什么?
 
目前,它似乎在寻找属性块,寻找名为“BOXSIZE”的标记,并使用grdraw函数使用“BOXSIZE”中的点在屏幕上绘制临时向量
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-6 15:23:30 | 显示全部楼层
 
你需要放眼全局。
 
 
正如你所见,该语言确实与其他选项一起发挥作用。
如果这个角色是中国人,它会是什么样子。
回复

使用道具 举报

13

主题

146

帖子

136

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2022-7-6 15:27:22 | 显示全部楼层
这正是它所做的,李,但它为每个属性块绘制这些临时向量,而不仅仅是我需要的向量。
 
有没有办法只为形状为R的向量绘制这些向量。如果有助于说明的话,这里有一个属性列表。
153659iqueflil2l66uroz.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:29:42 | 显示全部楼层
试一试:(未经测试):
 
  1. [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:boxqa [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] ss attLst Box ul lr[b][color=RED])[/color][/b]
  2. [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
  3. [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ss [b][color=RED]([/color][/b][b][color=BLUE]ssget[/color][/b] [b][color=#ff00ff]"_X "[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"INSERT"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=#009900]66[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  4.    [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
  5.      [b][color=RED]([/color][/b][b][color=BLUE]foreach[/color][/b] Obj [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b]
  6.                     [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]cadr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]ssnamex[/color][/b] ss[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  7.        [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] attLst [b][color=BLUE]nil[/color][/b][b][color=RED])[/color][/b]
  8.        [b][color=RED]([/color][/b][b][color=BLUE]foreach[/color][/b] att [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b]
  9.                       [b][color=RED]([/color][/b][b][color=BLUE]vlax-variant-value[/color][/b]
  10.                         [b][color=RED]([/color][/b][b][color=BLUE]vla-getAttributes[/color][/b] Obj[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  11.          [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] attLst [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-TagString[/color][/b] att[b][color=RED])[/color][/b]
  12.                                   [b][color=RED]([/color][/b][b][color=BLUE]vla-get-TextString[/color][/b] att[b][color=RED])[/color][/b] attLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  13.        [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]assoc[/color][/b] [b][color=#ff00ff]"SHAPE"[/color][/b] attLst[b][color=RED])[/color][/b]
  14.                 [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#ff00ff]"R"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cdr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]assoc[/color][/b] [b][color=#ff00ff]"SHAPE"[/color][/b] attLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  15.                 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] Box [b][color=RED]([/color][/b][b][color=BLUE]assoc[/color][/b] [b][color=#ff00ff]"BOXSIZE"[/color][/b] attLst[b][color=RED])[/color][/b]
  16.                       Box [b][color=RED]([/color][/b][b][color=BLUE]read[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cdr[/color][/b] Box[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  17.          [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
  18.            [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ul [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] Box[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] Box[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  19.                  lr [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caddr[/color][/b] Box[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadddr[/color][/b] Box[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  20.            [b][color=RED]([/color][/b][b][color=BLUE]grvecs[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=#009900]1[/color][/b] lr [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] lr[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] ul[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  21.                          [b][color=#009900]1[/color][/b] ul [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] lr[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] ul[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  22.                          [b][color=#009900]1[/color][/b] lr [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] ul[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] lr[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  23.                          [b][color=#009900]1[/color][/b] ul [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] ul[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] lr[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  24.    [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\n<!> No Attributed Blocks Found <!>"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  25. [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
回复

使用道具 举报

13

主题

146

帖子

136

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
62
发表于 2022-7-6 15:30:48 | 显示全部楼层
哇,李。这令人印象深刻。也要干净得多。
将LSP文件放到我当前的图形中进行测试。
 
加载很好,但当我运行它时,我得到了。。。
命令:_BOXQA;错误:错误的ssget模式字符串
 
在与原件进行比较后,删除了(ssget“_X”)中X之后的空格,很可能就是这样,但后来我得到了。。。
命令:_BOXQA;错误:参数太多
所以很明显我不知道我在做什么。
 
我把空间放回去,然后回到。。。
命令:_BOXQA;错误:错误的ssget模式字符串
 
史蒂夫
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:36:29 | 显示全部楼层
 
对不起,伙计,我只是打得很快,所以可能到处都是打字错误。。。我来看看
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:39:48 | 显示全部楼层
试一试:
 
  1. [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:boxqa [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] ss attLst Box ul lr[b][color=RED])[/color][/b]
  2. [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
  3. [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ss [b][color=RED]([/color][/b][b][color=BLUE]ssget[/color][/b] [b][color=#ff00ff]"_X"[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"INSERT"[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=#009900]66[/color][/b] . [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  4.    [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
  5.      [b][color=RED]([/color][/b][b][color=BLUE]foreach[/color][/b] Obj [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b]
  6.                     [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]cadr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]ssnamex[/color][/b] ss[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  7.        [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] attLst [b][color=BLUE]nil[/color][/b][b][color=RED])[/color][/b]
  8.        [b][color=RED]([/color][/b][b][color=BLUE]foreach[/color][/b] att [b][color=RED]([/color][/b][b][color=BLUE]vlax-safearray->list[/color][/b]
  9.                       [b][color=RED]([/color][/b][b][color=BLUE]vlax-variant-value[/color][/b]
  10.                         [b][color=RED]([/color][/b][b][color=BLUE]vla-getAttributes[/color][/b] Obj[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  11.          [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] attLst [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-TagString[/color][/b] att[b][color=RED])[/color][/b]
  12.                                   [b][color=RED]([/color][/b][b][color=BLUE]vla-get-TextString[/color][/b] att[b][color=RED])[/color][/b][b][color=RED])[/color][/b] attLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  13.        [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]assoc[/color][/b] [b][color=#ff00ff]"SHAPE"[/color][/b] attLst[b][color=RED])[/color][/b]
  14.                 [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#ff00ff]"R"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cdr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]assoc[/color][/b] [b][color=#ff00ff]"SHAPE"[/color][/b] attLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  15.                 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] Box [b][color=RED]([/color][/b][b][color=BLUE]assoc[/color][/b] [b][color=#ff00ff]"BOXSIZE"[/color][/b] attLst[b][color=RED])[/color][/b]
  16.                       Box [b][color=RED]([/color][/b][b][color=BLUE]read[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cdr[/color][/b] Box[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  17.          [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
  18.            [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ul [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] Box[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] Box[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  19.                  lr [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caddr[/color][/b] Box[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadddr[/color][/b] Box[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  20.            [b][color=RED]([/color][/b][b][color=BLUE]grvecs[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=#009900]1[/color][/b] lr [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] lr[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] ul[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  21.                          [b][color=#009900]1[/color][/b] ul [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] lr[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] ul[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  22.                          [b][color=#009900]1[/color][/b] lr [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] ul[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] lr[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  23.                          [b][color=#009900]1[/color][/b] ul [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] ul[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] lr[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  24.    [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\n<!> No Attributed Blocks Found <!>"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
  25. [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 00:33 , Processed in 0.738696 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表