乐筑天下

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

宏帮助

[复制链接]

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2004-10-6 19:16:04 | 显示全部楼层 |阅读模式
您好,
我在这里开发了这个小宏(见下文),这真的很酷。
如果您在Paperspace中,则可以启动此宏,选择您的mview视口,它将将其复制到模型空间中作为块参考,并以适当的乘数为您放大,在本例中为48,因为我以1/4“=1'
打印无论如何,粘贴块部分完成后,它希望将其放在当前层上。这并不好,所以我需要告诉AutoCAD在粘贴插入之前使缺点保持最新状态。
在此宏的末尾,需要更多代码来告诉 AutoCAD 使第 0 层成为当前图层。 我确实尝试过 -layer;s;0;;最后,但我仍然没有运气。有什么建议吗?
谢谢

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

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

铜币
481
发表于 2004-10-6 19:56:16 | 显示全部楼层

  1. ^C^Ccopyclip;\;(setvar "tilemode" 1);-layer;m;defpoints;;pasteblock;scale;48;\(setvar 'clayer "0");

我将图层设置更改为图层制作,以防图层不存在。我还在块缩放后加了一条斜线以允许插入,然后图层设置为0。罗恩
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

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

铜币
481
发表于 2004-10-6 20:22:26 | 显示全部楼层
[/code]
^C^CCopclip;\;(setvar"tilemode"1);-Layer; s; defpoint;; pasteblock; size; 48;(setvar'clayer"0");
[/code]
嘿Ron,
这很好,但不完全是。如果我按照您的建议执行以下操作,那么我不再在Model空间中被提示插入点,而是随机删除块。如果我再做一次,那么它会将下一个放在最后一个之上,依此类推。你能想出一种方法来写它,这样我仍然会被提示插入点吗?
谢谢
Mark
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

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

铜币
481
发表于 2004-10-6 20:26:52 | 显示全部楼层
嘿,罗恩
,我错过了48年底的反斜杠;
48;\(塞特瓦尔的克莱尔“0”)是完美的!
它现在像一个魅力一样工作
嘿!通过使用此功能,您将始终在模型空间中为您设置最外层的绘图限制
,非常感谢!
马克
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

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

铜币
481
发表于 2004-10-7 08:23:14 | 显示全部楼层
ml只是出于好奇,你为什么不试试这个,它似乎是一个更好的主意,让它画一个pline而不是创建一个块,如果我正确地阅读你的帖子,无论如何尝试这对于你想做的事情来说都很好。
  1.                ;Tip1687:   VPLIM.LSP     Pspace Limits in Mspace (c)2001, Murray Clack
  2.                ;VPLIM.lsp draws the limits of a Paperspace Viewport Boundary in MODELSPACE
  3.                ;VP - Get ViewPort object
  4.                ;HT - Get Outside HeighT of Viewport
  5.                ;WD - Get Oustide WiDth of Viewport
  6.                ;VN - Get Viewport Number
  7.                ;CTR - Get CenTeR of Viewport
  8.                ;CTRX - Caluculate X of Viewport CenTeR
  9.                ;CTRY - Caluculate Y of Viewport CenTeR
  10.                ;VS - Get View Size of viewport
  11.                ;XP - Calculate XP factor of viewport
  12.                ;IW - Calculate Width of viewport
  13.                ;BL - Calculate Bottom Left corner of viewport
  14.                ;BR - Calculate Bottom Right corner of viewport
  15.                ;TR - Calculate Top Right corner of viewport
  16.                ;TL - Calculate Top Left corner of viewport
  17.                ;PW - Save PlineWid
  18.                ;OS - Save OSmode
  19.                ;start function and define variables
  20. (defun
  21.      C:VPL
  22.           (/ VP HT   WD VN CTR CTRX CTRY VS XP IW BL   BR TR TL PW OS)
  23.                ;turn off command echoing
  24.   (setvar "cmdecho" 0)
  25.                ;save current layer as "clay"
  26.   (setq clay (getvar 'clayer))
  27.                ;make current layer defpoints
  28.   (command "_.layer" "m" "Defpoints" "")
  29.                ;enter pspace
  30.   (command ".pspace")
  31.                ;select viewport boundary
  32.   (setq   VP
  33.     (entget
  34.       (car
  35.         (entsel
  36.           "\nSelect Viewport to Draw Boundary
  37.              in "
  38.         ) ;_ end of entsel
  39.       ) ;_ end of car
  40.     ) ;_ end of entget
  41.   ) ;_ end of setq
  42.                ;Get Viewport height with
  43.   (setq HT (cdr (assoc 41 VP)))
  44.                ;Get Viewport width with
  45.   (setq WD (cdr (assoc 40 VP)))
  46.                ;Get Viewport Number
  47.   (setq VN (cdr (assoc 69 VP)))
  48.                ;enter mspace
  49.   (command ".mspace")
  50.                ;set correct viewport
  51.   (setvar "cvport" VN)
  52.                ;set UCS to View
  53.   (command ".ucs" "v")
  54.                ;Get VIEWCTR store as CTR
  55.   (setq CTR (getvar "viewctr"))
  56.                ;Get X of CTR
  57.   (setq CTRX (car CTR))
  58.                ;Get Y of CTR
  59.   (setq CTRY (cadr CTR))
  60.                ;Get inside Viewport height
  61.   (setq VS (getvar "viewsize"))
  62.                ;Get XP Factor with HeighT / View Size
  63.   (setq XP (/ HT VS))
  64.                ;Get inside width of Viewport by
  65.   (setq IW (* (/ VS HT) WD))
  66.                ;Find four corners of Viewport
  67.   (setq BL (list (- CTRX (/ IW 2)) (- CTRY (/ VS 2))))
  68.   (setq BR (list (+ CTRX (/ IW 2)) (- CTRY (/ VS 2))))
  69.   (setq TR (list (+ CTRX (/ IW 2)) (+ CTRY (/ VS 2))))
  70.   (setq TL (list (- CTRX (/ IW 2)) (+ CTRY (/ VS 2))))
  71.                ;Save current pline width
  72.   (setq PW (getvar "plinewid"))
  73.                ;Set Pline width to zero
  74.   (setvar "plinewid" 0)
  75.                ;Save current osmode
  76.   (setq OS (getvar "osmode"))
  77.                ;Draw pline inside border
  78.   (command ".pline" BL BR TR TL "c")
  79.                ;Restore pline width back
  80.   (setvar "plinewid" PW)
  81.                ;Restore UCS back
  82.   (command ".ucs" "p")
  83.                ;Restore osmode
  84.   (setvar "osmode" OS)
  85.                ;Restore curernt layer
  86.   (setvar "clayer" clay)
  87.                ;Clean up command prompt
  88.   (princ)
  89.                ;Go Back To Papserspace
  90.   (command ".pspace")
  91. )               ;The End!

回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

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

铜币
481
发表于 2004-10-7 18:49:27 | 显示全部楼层
谢谢你丹。
我非常喜欢将实际的mview复制到模型中并转换为块引用。我只关心如果人们分解它,那么它将恢复到一个视口。也许VBA的一个反应堆可以解决这个问题。
我会坚持使用这个lsp程序并尝试一下
再次感谢
Mark
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

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

铜币
481
发表于 2004-10-8 11:07:35 | 显示全部楼层
您可能对此也感兴趣
http://www.cadnovation.com/en/Prod/mvport/mvport.asp
回复

使用道具 举报

48

主题

277

帖子

5

银币

后起之秀

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

铜币
481
发表于 2004-10-8 18:12:04 | 显示全部楼层
它看起来很酷,但我和另一个人正在构建一堆工具,这些工具将真正有助于简化所有冗余并减少CAD中出错的机会
我完全愿意接受建议。
再次感谢
马克
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 03:15 , Processed in 1.005166 second(s), 68 queries .

© 2020-2025 乐筑天下

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