乐筑天下

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

[编程交流] 在papersap中缩放视口

[复制链接]

55

主题

243

帖子

188

银币

后起之秀

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

铜币
275
发表于 2022-7-6 07:26:07 | 显示全部楼层 |阅读模式
我想选择一个视口,将其放大/缩小,然后根据细节放大或缩小。
例如,如果我有一个1:10的比例,我想把它放大到1:5,视口大小将缩放2,视口比例将从1:10缩放到1:5。
单独执行此操作相当简单(编程),但是我只想选择视口以放大细节,而不是选择视口,然后进入活动窗口并放大比例。
 
有没有一种方法可以在只选择视口窗口(在图纸空间中)而不必进入活动窗口进行缩放的情况下缩放视口?
谢谢
回复

使用道具 举报

3

主题

37

帖子

34

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 07:32:35 | 显示全部楼层
你绝对可以做到。选择视口解锁,屏幕右下角有一个比例列表。
选择希望其处于的比例,然后重新锁定视口并拉伸视口以包含细节。这就是全部。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 07:33:46 | 显示全部楼层
您可以从工具栏或底部状态栏中选择。。。
 
082610torga8pppzkr1llo.png
082611znoou0iiggiurus8.png
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 07:36:23 | 显示全部楼层
或者您可以键入:
  1. Command: z
  2. ZOOM
  3. Specify corner of window, enter a scale factor (nX or nXP), or
  4. [All/Center/Dynamic/Extents/Previous/Scale/Window/Object] <real time>: [color=red][b]1/20xp[/b][/color]
回复

使用道具 举报

55

主题

243

帖子

188

银币

后起之秀

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

铜币
275
发表于 2022-7-6 07:41:11 | 显示全部楼层
 
我仍然不确定在paperspace中如何更改视口比例。当您在活动视口中时,上面的内容可以正常工作。
我想在图纸空间中更改视口比例。。。。除非我错过了什么。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 07:44:27 | 显示全部楼层
选择视口并使用我发布的前两种方法之一(图片中的方法)。
回复

使用道具 举报

3

主题

37

帖子

34

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 07:45:30 | 显示全部楼层
只需选择视口(高亮显示),不要在其内部双击到图纸空间。然而,视口需要解锁。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 07:48:24 | 显示全部楼层
如果你很想用代码来做这件事,只需用(vla put customscale)编辑比例。
回复

使用道具 举报

55

主题

243

帖子

188

银币

后起之秀

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

铜币
275
发表于 2022-7-6 07:53:07 | 显示全部楼层
好的-谢谢
...所以它可以通过编程来实现。。。。
这是我的尝试,症结是视口比例,我哪里出错了?
谢谢
 
  1. (defun c:Sc  (/ ss EntVpt VpScaleRatio scalevp NewVpScaleRatio ScaleRatio)
  2. (vl-load-com)
  3. (setq scalevp (getreal "\nChoose a scale   : "))
  4. (princ "\nSelect paperspace Viewport  : ")
  5. (setq ss (ssget ":s" '((0 . "viewport"))))
  6. (if ss
  7. (progn
  8. (setq
  9.     EntVpt (ssname ss 0)
  10.     VptObj (vlax-ename->vla-object EntVpt )
  11.     VpScaleRatio(vla-get-customscale VptObj)
  12. );setq
  13. (setq     
  14.     NewVpScaleRatio (/ 1.0 scalevp);Edit:this line is now correct
  15.     CenPtVport (vlax-get VptObj 'Center)
  16.     ScaleRatio (/ NewVpScaleRatio VpScaleRatio )
  17. );setq
  18. (command "scale" ss ""   CenPtVport ScaleRatio)
  19. (vla-put-customscale VptObj (/ 1.0 scalevp) ));Edit:this line is now correct
  20. );progn
  21. );if
  22. );defun
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 07:57:43 | 显示全部楼层
我假设“粘着点”,你的意思是尺度不是你想要的。
 
用值除以1(例如,(/1.scalevp))设置customscale值。
 
我没有添加对象缩放,但下面是一个示例:
 
  1. (defun c:Test (/ e s)
  2. (if (setq e (car (entsel "\nSelect viewport to change/view scale: ")))
  3.    (if (eq "AcDbViewport" (vla-get-objectname (setq e (vlax-ename->vla-object e))))
  4.      (if (setq s (getreal (strcat "\nSpecify new scale (Current: 1" = "
  5.                                   (rtos (/ 1. (vla-get-customscale e)) 2)
  6.                                   "'): "
  7.                           )
  8.                  )
  9.          )
  10.        (vl-catch-all-apply (function vla-put-customscale) (list e (/ 1. s)))
  11.      )
  12.      (princ "\nInvalid object!")
  13.    )
  14. )
  15. (princ)
  16. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-15 11:52 , Processed in 2.268071 second(s), 74 queries .

© 2020-2025 乐筑天下

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