乐筑天下

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

[编程交流] 创建多个视图

[复制链接]

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:48:46 | 显示全部楼层 |阅读模式
你好,cad专家。
 
如何从附着的图像快速创建多个视图?
 
我有一个lisp例程,可以创建视图,但无法将ucs与创建的矩形对齐。
 
104847kebffxstxxuzyay3.jpg
 
我的Lisp程序是。。。。
 
  1. (Defun C:views ()
  2. (Terpri)
  3. (Setq Numero (getint "Starting Number > "))
  4. (Setq Sair 0)
  5. (Terpri)
  6. (Setq txt (getstring "txt > "))
  7. (While (/= Sair T)
  8. (Setq Cont 0)
  9. (Terpri)
  10. (Setq Janela (car(entsel "Select view > ")))
  11. (Setq Janela (entget Janela))
  12. (Setq Tamanho (length Janela))
  13. (Setq X1 nil)
  14. (Setq X2 nil)
  15. (Setq Y1 nil)
  16. (Setq Y2 nil)
  17. (Setq X nil)
  18. (Setq Y nil)
  19. (While (< Cont Tamanho)
  20. (Setq Contagem (car(nth Cont Janela)))
  21. (If (= Contagem 10)
  22. (Progn
  23. (Setq X (cadr (nth Cont Janela)))
  24. (Setq Y (caddr(nth Cont Janela)))
  25. (If (= X1 nil)
  26. (Progn
  27. (Setq X1 X)
  28. )
  29. )
  30. (If (= Y1 nil)
  31. (Progn
  32. (Setq Y1 Y)
  33. )
  34. )
  35. ;************************************
  36. (If (> X X1)
  37. (Progn
  38. (Setq X2 X)
  39. )
  40. )
  41. (If (< X X1)
  42. (Progn
  43. (Setq X1 X2)
  44. (Setq X1 X)
  45. )
  46. )
  47. ;************************************
  48. (If (> Y Y1)
  49. (Progn
  50. (Setq Y2 Y)
  51. )
  52. )
  53. (If (< Y Y1)
  54. (Progn
  55. (Setq Y2 Y1)
  56. (Setq Y1 Y)
  57. )
  58. )
  59. ;************************************
  60. )
  61. )
  62. (Setq Cont (1+ Cont))
  63. )
  64. (If (< Numero 10)
  65. (Progn
  66. (Setq Numero (itoa Numero))
  67. (Setq Numero (strcat "0" Numero))
  68. )
  69. (Progn
  70. (Setq Numero (itoa Numero))
  71. )
  72. )
  73. (Setq X (list X1 Y1))
  74. (Setq Y (list X2 Y2))
  75. (Command "-View")
  76. (Command "W")
  77. (Command (strcat txt " " Numero))
  78. (Command X)
  79. (Command Y)
  80. (Setq Numero (atoi Numero))
  81. (Setq Numero (1+ Numero))
  82. )
  83. )
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 10:08:50 | 显示全部楼层
请修改您的代码发布指南。
 
读这个。
 
http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 10:14:31 | 显示全部楼层
在代码中输入“UCS OB Last UCS mynewucswithnum”,因为它创建每个矩形,这将在运行时为每个矩形创建UCS。
回复

使用道具 举报

0

主题

39

帖子

44

银币

限制会员

铜币
-1
发表于 2022-7-6 10:30:30 | 显示全部楼层
编码速度很快,但似乎可行。仅适用于多段线(矩形)。UCS方向通过“手动模式”。
 
  1. (defun c:mvu(/ cPrf cNum cEnt pLst lbPt cAng mPt xPt *error*)
  2. (vl-load-com)
  3. (defun *error*(msg)
  4.    (command "_.ucs" "_w")
  5.    (setvar "CMDECHO" 1)
  6.    (princ "\nExit MVU")
  7.    (princ)
  8.    ); end princ
  9. (if
  10.    (and
  11.      (setq cPrf(getstring "\nSpecify view prefix: "))
  12.      (setq cNum(getint "\nSpecify first view number: "))
  13.      ); end and
  14.    (progn
  15.      (setvar "CMDECHO" 0)
  16.      (while(setq cEnt(entsel
  17.                 (strcat "\nSelect rectangle for view ["
  18.                         (itoa cNum) "] or Spacebar to Exit > ")))
  19. (vla-GetBoundingBox
  20.         (vlax-ename->vla-object(car cEnt)) 'mPt 'xPt)
  21. (vl-cmdf "_.ucs" "_w")
  22. (setq pLst(mapcar 'cdr(vl-remove-if-not
  23.             '(lambda(c)(= 10(car c)))(entget(car cEnt))))
  24.       lbPt(trans(car(vl-sort pLst '(lambda(x1 x2)(<(car x1)(car x2)))))0 1)
  25.       mPt(vlax-safearray->list mPt)
  26.       xPt(vlax-safearray->list xPt)
  27.       cAng(getangle lbPt "\nSpecify angle for X axis > ")
  28.       ); end setq
  29. (if cAng
  30.   (progn
  31.      (vl-cmdf "_.ucs" "_z" (angtos cAng))
  32.      (command "_.zoom" "_w" (trans mPt 0 1)(trans xPt 0 1))
  33.      (command "-view" "_s" (strcat cPrf " "(itoa cNum)))
  34.      (command "_.zoom" "_p")
  35.      (setq cNum(1+ cNum))
  36.    ); end progn
  37.   ); end if
  38. ); end while
  39.      (command "_.ucs" "_w")
  40.      (setvar "CMDECHO" 1)
  41.      (princ "\nExit MVU")
  42.      ); end progn
  43.    ); end if
  44. (princ)
  45. ); and of c:mvu
回复

使用道具 举报

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 10:38:40 | 显示全部楼层
非常感谢各位
 
尤其是斯米尔诺夫
 
很抱歉耽误了您的时间,但工作。。。。令人惊讶的是,他如何复制。。。。
 
当做
保罗·萨尔瓦多
回复

使用道具 举报

0

主题

39

帖子

44

银币

限制会员

铜币
-1
发表于 2022-7-6 10:51:46 | 显示全部楼层
不客气。即使我没有那么有人会永远帮助你。
 
当然,如果条件合理的话。。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:16 , Processed in 0.389969 second(s), 67 queries .

© 2020-2025 乐筑天下

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