乐筑天下

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

[编程交流] 在视口中旋转视图

[复制链接]

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 12:51:36 | 显示全部楼层 |阅读模式
下午好
 
我想用lisp在视口中旋转视图。视口将位于不同的中心,并且可能具有不同的比例。我想保持天平的完整性。
 
如果我能在这一部分得到帮助,那么我想添加到程序中的所有内容(我可以做到)就是在模型空间中为2个点提供用户输入,这将作为我的角度。
 
我认为这可能与ucs变量有关,但我找不到它。
 
谢谢你
回复

使用道具 举报

9

主题

43

帖子

35

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 12:59:01 | 显示全部楼层
一个很好的起点是快速工具“对齐空间”,它可以让你走到一半。您可以进一步修改此例程以满足您的需要:
 
http://data.vdoc.org/SOFT/AutoCad%202006%20SP1%20rus/ACAD2006rus/Bin/acadFeui/Program%20Files/Root/Express/aspace.lsp
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 13:04:46 | 显示全部楼层
嘿,谢谢你的指导。我透过aspace看了一眼。lsp,我发现很难理解它(特别是alignspace函数)。我可能错了,但似乎影响旋转的命令是acet-ucs-cmd,但这是做什么的?!
旁白:为什么美国用户从不使用acet功能?为什么它只在室内使用?没有帮助文件。。
这是我第一次看到听起来很有用的反函数。
 
我还查看了mvsetup。lsp,特别是“对齐视口几何体”部分,但它有点不适用,它只使用dview命令。
 
如果您对视口旋转有任何其他帮助,我们将不胜感激。。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:07:32 | 显示全部楼层
acet-*函数是Express tools函数。
 
有些可能很有用,例如acet sys shift down,用于检测换档按键,但它们有明显的局限性,因为并非所有机器都加载了ET。此外,有人认为,其中一些文字写得很糟糕。
 
欲了解更多信息,请参阅此处:
 
http://www.afralisp.net/lisp/acet-utils.htm
它们的完整列表
 
更多未记录的东西。
更多沼泽地的东西
还有更多
回复

使用道具 举报

9

主题

43

帖子

35

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 13:14:07 | 显示全部楼层
下面是在这个论坛上人们的帮助下制定的一个小程序。但它并没有按您希望的方式旋转视口(事实上,当从WCS旋转视图时,该例程无法可靠地工作)。它可能包含您可能会发现有用的元素。
该例程所做的是,从视口开始,将其解锁,将ucs绕Y轴旋转180度,将视图设置为该ucs,然后将视图返回到其原始位置(即相同的视图中心和比例),并再次锁定视口。
我们使用它来详细描述镜像组件:
 
  1. (defun C:VPF (/ vc vs ve)
  2. (initerror)
  3. (setvar "cmdecho" 0)
  4. (command "undo" "mark")
  5. (command "_.undo" "_begin")
  6. (command "UCS" "world")
  7. (setq vc (getvar "VIEWCTR")
  8. vs (getvar "VIEWSIZE")
  9. ve (trans '(0 0 1) 0 1))
  10. (command "_.VPORTS" "_L" "_OFF" "_ALL" "")
  11. (command "_.UCS" "_Y" 180
  12. "_.PLAN" "_C"
  13. "_.ZOOM" "_C" (trans vc ve 1) vs)
  14. (command "_.VPORTS" "_L" "_ON" "_ALL" "")
  15. (command "_.undo" "_end")
  16. (setvar "cmdecho" 1)
  17. (princ)
  18. )
回复

使用道具 举报

9

主题

43

帖子

35

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 13:19:11 | 显示全部楼层
下面是这个例程的原始线程:
 
http://www.cadtutor.net/forum/showthread.php?t=32901
回复

使用道具 举报

29

主题

196

帖子

168

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 13:20:57 | 显示全部楼层
 
在标题中,您说的是“在视口中旋转视图”。。但是在帖子内容中你说旋转视口。。。我理解的是物体在我们眼中的呈现方式。。。视口就是让我们看到这些物体的物体。。。所以我认为你在标题中说了一件事,在帖子内容中又说了另一件事。
 
对于旋转视图的情况,我使用了一个lisp,我想我将其重命名为DVA。lsp(dview--align)将视口的视图与选定的线对齐。(附)
 
对于另一种情况,我想我们都知道,如果旋转视口,视图仍然存在,那么需要一个lisp来锁定视口,并允许它旋转视口对象本身。一定有类似的方法可以做到这一点,通过复制视口多段线并应用mview对象来查找相同的视口,但旋转,我想我已经看到了一些例程来将视口比例和旋转匹配到另一个视口,但我甚至没有下载它。。。我认为这没用。这也许就是这个案子所需要的。
Dva。lsp
回复

使用道具 举报

9

主题

43

帖子

35

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 13:27:34 | 显示全部楼层
 
在AutoCAD 2010中,您现在可以选择旋转视口,并随附视图:
http://autodesk.blogs.com/between_the_lines/2009/05/autocad-2010-rotate-layout-view-with-viewport-like-a-ninja.html
 
它可能只是实现了这个目的,但它会使矩形视口以有趣的角度旋转,从而形成一个杂乱的布局。我在办公室里一直对这个功能保持沉默,不敢想象当人们发现我们的画时,它会变成什么样子。
回复

使用道具 举报

29

主题

196

帖子

168

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 13:32:06 | 显示全部楼层
 
 
Orale!!!
 
那么一切都结束了
回复

使用道具 举报

14

主题

271

帖子

257

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 13:35:26 | 显示全部楼层
嘿,谢谢你的帮助。那Lisp程序真的把我的视线塞住了呵呵。它把一切都翻转过来。我又开始对反式函数感到困惑了。。
 
谢谢你给李的小费。(我看不到沼泽附件,其他的都看不到)。
 
Gilsoto,对不起,我会把柱子修好的。我指的是风景。
 
不管怎样,我试着做点什么:
正如你所注意到的,我选择了简单的方法,选择了dview。所以这是一个有点便宜的方式去做,但目前它似乎工作的好。一定要发布改进,如果你觉得有用,请发表评论。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 03:10 , Processed in 0.350727 second(s), 72 queries .

© 2020-2025 乐筑天下

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