乐筑天下

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

[编程交流] 为什么可以';t I setq a值

[复制链接]

31

主题

170

帖子

139

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
155
发表于 2022-7-6 12:06:38 | 显示全部楼层
  1. (setq sfv (getvar 'ucsname))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:11:35 | 显示全部楼层
哦,对了,我想可能是在另一个节目里。
 
嗯,我无法解释——正如我所说,UCSNAME=“”要么是世界,要么是一个未命名的UCS。你确定你没有被观点搞糊涂吗?
回复

使用道具 举报

31

主题

170

帖子

139

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
155
发表于 2022-7-6 12:14:42 | 显示全部楼层
是的,因为当我双击视口时,我试图从中提取usc名称,并在命令行中键入(getvar'uscname),我得到“*FRONT*”。不用担心,李,谢谢你的努力。是否有人可以在AutoCAD 2008中尝试此操作,并查看此版本是否存在问题?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:17:21 | 显示全部楼层
 
这样行吗?请记住,模型空间和图纸空间中的视口可以有不同的UCS。
回复

使用道具 举报

31

主题

170

帖子

139

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
155
发表于 2022-7-6 12:20:28 | 显示全部楼层
是的,当手动输入/复制粘贴到命令行时,它可以工作。但是,在lisp中运行时,它不起作用
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:21:48 | 显示全部楼层
 
如果我是对的,你说如果你输入:
 
  1. (getvar 'ucsname)
在命令行中,您可以看到“*前*”
 
但在运行函数时:
 
你得到“”?我说得对吗?
 
只是运行LISP和在命令行手动输入LISP代码之间没有区别。
 
回复

使用道具 举报

31

主题

170

帖子

139

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
155
发表于 2022-7-6 12:26:42 | 显示全部楼层
 
是的,事情就是这样。
 
 
我知道,这就是我要说的,没有任何意义。
回复

使用道具 举报

31

主题

170

帖子

139

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
155
发表于 2022-7-6 12:30:17 | 显示全部楼层
李,也许你会有一个更好的解决方案来实现我的目标。。。
 
从顶视图往下看时,我在模型空间中绘制的对象大多比深宽,但也有一些比宽深。在这种情况下,我希望通过将俯视图扭转90°,旋转我的前视图使其成为左视图,旋转我的右视图使其成为前视图,使对象更好地适合视口(和页面)。(基本上与将模型空间中的对象旋转90°相同,这要容易得多,但我的雇主不允许我这样做,因为这会导致客户在他们的图纸中插入我们的符号时出现问题)
 
以下是我目前掌握的信息:
 
  1. (defun c:rt ()
  2. (setvar 'tilemode 0)
  3. (command "_.zoom" "_w" '(-0.5 -0.5 0.0) '(11.0 8.5 0.0))
  4. (command "_.mspace")
  5. (setvar 'cvport 2)
  6. (setq tvt (* (/ (+ (getvar 'viewtwist) (/ pi 2)) pi) 180))
  7. (command "_.dview" "" "_twist" tvt "")
  8. (command "_.zoom" "_e")
  9. (setvar 'cvport 5)
  10. (setq sfv (getvar 'ucsname))
  11. (setq efv (cond ( (= sfv "*Front*") "_Left")
  12.    ( (= sfv "*Left*") "_Back")
  13.    ( (= sfv "*Back*") "_Right")
  14.    ( (= sfv "*Right*") "_Front")))
  15. (command "_.-view" efv)
  16. (command "_.zoom" "_e")
  17. (setvar 'cvport 4)
  18. (setq srv (getvar 'ucsname))
  19. (setq erv (cond ( (= sfv "*Front*") "_Left")
  20.    ( (= sfv "*Left*") "_Back")
  21.    ( (= sfv "*Back*") "_Right")
  22.    ( (= sfv "*Right*") "_Front")))
  23. (command "_.-view" erv)
  24. (command "_.zoom" "_e")
  25. (command "_.pspace")
  26. (princ)
  27. (princ "\nAll modelspace items rotated 90° about the top plane")
  28. (princ))

 
如果有更好的办法,我洗耳恭听。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:32:03 | 显示全部楼层
我不能完全做到这一点,但如果我没有误解其意图,可能会有类似的事情发生。也许其他人可以纠正它
 
  1. 5
回复

使用道具 举报

31

主题

170

帖子

139

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
155
发表于 2022-7-6 12:36:12 | 显示全部楼层
因此,为了进行尝试,我将系统ucs复制到我自己命名的ucs,命名为Top、Front、Right、Left、Back和Bottom,并尝试在上面运行我的lisp。。。现在,当在lisp中运行时,我得到了sfv的“Top”,当我将“(setq-sfv(getvar'ucsname))行复制粘贴到命令行时,我得到了“Front”。我真的不明白发生了什么事。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-3 19:30 , Processed in 0.666346 second(s), 70 queries .

© 2020-2025 乐筑天下

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