乐筑天下

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

[编程交流] 运行LISP项目时出错

[复制链接]

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 08:01:54 | 显示全部楼层 |阅读模式
  1. _$ (PUTPAGESETUP "101" "PDF LEDGER")
  2. ; error: no function definition: VLAX-GET-ACAD-OBJECT

 
我发现下面的代码读取命名页面设置,应该能够设置它,但当最终设法让它运行时,它似乎在某个地方有错误。
 
  1. ; Jason Piercey . May 16th, 2003
  2. ; assign a pagesetup to a layout
  3. ; [layout] - string, layout name
  4. ; [setup] - string, pagesetup to assign
  5. ; return: T or nil
  6. ; modified by chris castelein 10-31-05
  7. ; to pass paper size as an argument.
  8. ; original prompt code left in and remarked out.
  9. (defun putPagesetup (layout setup / layouts plots)
  10. (defun item-p (collection item)
  11. (if
  12. (not
  13. (vl-catch-all-error-p
  14. (vl-catch-all-apply
  15. '(lambda () (setq item (vla-item collection item))))))
  16. item
  17. )
  18. )
  19. (and
  20. (or *acad* (setq *acad* (vlax-get-acad-object)))
  21. (or *doc* (setq *doc* (vla-get-activedocument *acad*)))
  22. (setq layouts (vla-get-layouts *doc*))
  23. (setq plots (vla-get-plotconfigurations *doc*))
  24. (setq layout (item-p layouts layout))
  25. (setq setup (item-p plots setup))
  26. (not (vla-copyfrom layout setup))
  27. )
  28. )
  29. (defun massoc (key alist / x nlist)
  30. (foreach x alist
  31. (if (eq key (car x))
  32. (setq nlist (cons (cdr x) nlist))
  33. )
  34. )
  35. (reverse nlist)
  36. )
  37. ; Return: list of all pagesetups defined in the current drawing or nil
  38. (defun getPagesetups ()
  39. (massoc 3 (dictsearch (namedobjdict) "Acad_PlotSettings"))
  40. )
  41. ; Jason Piercey . May 19th, 2003
  42. ; assign pagesetup to layout(s)
  43. ; LIMITED testing
  44. ; written for Shawn McDonald
  45. (defun psetup (page / lst res)
  46. (vl-load-com)
  47. (setq lst (mapcar 'strcase (getPagesetups)))
  48. (while (not page)
  49. ;(setq page (strcase (getstring T "\nspecify pagesetup to apply: ")))
  50. (if (or (= "" page) (not (member page lst)))
  51. (progn (princ "\npagesetup not found") (setq page nil))
  52. )
  53. )
  54. (initget "All Current")
  55. ;(if(not(setq res (getkword "\n[All/Current]apply pagesestup to which layout(s) <all>: ")))
  56. ;(setq res "All")
  57. (setq res "Current")
  58. (if (= "All" res)
  59. (foreach x (vl-remove "Model" (layoutlist)) (putPagesetup x page))
  60. (putPagesetup (getvar "ctab") page)
  61. )
  62. (princ "\nFinished")
  63. (princ)
  64. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:46:06 | 显示全部楼层
添加
 
  1. (vl-load-com)

 
直到代码的最后,在任何函数定义之外。
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 09:23:40 | 显示全部楼层
 
不是我干的,也许是我做错了什么。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 22:14 , Processed in 0.367881 second(s), 58 queries .

© 2020-2025 乐筑天下

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