乐筑天下

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

[编程交流] 如何获取所有viewp的列表

[复制链接]

33

主题

267

帖子

213

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
197
发表于 2022-7-6 12:28:37 | 显示全部楼层
太棒了,谢谢
 
我真的需要试试Visual LISP编辑器。我大多数简单的工作(蝙蝠、林等)都使用记事本++
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:32:07 | 显示全部楼层
不客气
 
即使你不喜欢编辑器本身-帮助文件是必不可少的。。。
回复

使用道具 举报

33

主题

267

帖子

213

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
197
发表于 2022-7-6 12:37:43 | 显示全部楼层
李,
使用以下工具的优势是什么:
  1. vl-cmdf

vs。
  1. command

?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:38:56 | 显示全部楼层
vl cmdf在继续之前评估参数的有效性-命令不会。
回复

使用道具 举报

33

主题

267

帖子

213

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
197
发表于 2022-7-6 12:43:38 | 显示全部楼层
你知道vl、vla、vlax函数的好参考以及如何使用它们吗?
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 12:47:03 | 显示全部楼层
只是对李的常规做了一个小改动。。。
 
  1. (defun c:psfix ( / #Doc ct lay i ss ent) ;; Initiate Defun and localise Vars
  2. (vl-load-com)  ;; Load Visual LISP Console
  3. (setq ct (getvar "ctab")) ;; Store Current Layout
  4. (setq #Doc (vla-get-activedocument (vlax-get-acad-object)))
  5. (foreach lay (layoutlist) ;; For Every Layout in the Drawing
  6.    
  7.    (mapcar 'setvar '("CTAB" "PSLTSCALE") (list lay 1))
  8.      ;; Apply the function 'setvar' to each argument in each list.
  9.      ;; Setvar needs two arguments, sys var and value, so mapcar needs
  10.      ;; two lists.
  11.      ;; This is equivalent to putting (setvar "CTAB" lay) (setvar "PSLTSCALE" 1)
  12.    
  13. [color=Red]    ;(vl-cmdf "_.mspace")  ;; Equivalent to (command "_.mspace")
  14.    (and (zerop (getvar 'tilemode)) (vla-put-mspace #Doc :vlax-true))[/color]
  15.    
  16.    (setvar "ANNOALLVISIBLE" 1) ;; Set Sys Var ANNOALLVISIBLE to 1
  17.    
  18. [color=Red]    ;(vl-cmdf "_.pspace")  ;; Equivalent to (command "_.pspace")
  19.    (and (zerop (getvar 'tilemode)) (vla-put-mspace #Doc :vlax-false))[/color]
  20. )  ; end foreach
  21. (if (setq i -1 ss (ssget "_X" '((0 . "VIEWPORT"))))
  22.      ;; If there are Viewports in the Database
  23.    
  24.    (while (setq ent (ssname ss (setq i (1+ i))))
  25.      ;; While we can get an entity name in the Selection Set
  26.      
  27.      (vl-catch-all-apply ;; Apply the following function and catch any errors
  28.        ;; This is like using 'apply' except the program will not crash if
  29.        ;; there is an error executing the function.
  30.        'vla-put-displaylocked  ;; Property of the Viewport to determine if it is locked.
  31.        ;; List of arguments that belong to 'vla-put-displaylocked'
  32.        (list
  33.          (vlax-ename->vla-object ent) ;; convert the ename to a VLA-object
  34.          :vlax-true) ;; Boolean True - hence the Viewport will be locked
  35.       
  36.        ) ; end vl-catch-all-apply
  37.      
  38.      ) ; end While
  39.    
  40.    ) ; end IF
  41. (mapcar 'setvar '("MSLTSCALE" "LTSCALE" "CTAB") (list 1 1 ct))
  42. ;; Same logic as above - read about 'mapcar' to learn more.
  43. (princ) ;; Exit Quietly - i.e. suppress last return
  44. ) ;; End Defun
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:50:07 | 显示全部楼层
 
是的,Visual LISP编辑器帮助文件
 
 
干杯,艾伦,下次我会注意到的
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 12:50:43 | 显示全部楼层
没问题。
以防万一你不知道。
回复

使用道具 举报

33

主题

267

帖子

213

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
197
发表于 2022-7-6 12:54:46 | 显示全部楼层
太棒了,谢谢你们。
我会学这些东西,如果它杀了我。。。
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-6 12:58:33 | 显示全部楼层
我的收藏:
http://www.theswamp.org/index.php?topic=7097.0
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 10:22 , Processed in 0.392598 second(s), 70 queries .

© 2020-2025 乐筑天下

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