Tharwat 发表于 2022-7-6 10:31:56

Autolisp代替视图逗号

你好
 
我想知道是否可以在Lisp中尽可能地更改图形的视图
view命令。
 
当做

ReMark 发表于 2022-7-6 10:39:22

我相信这是可能的,但为什么要重新发明轮子呢?首先看一下《Cadalyst》杂志的CAD提示部分,看看是否有人已经开发了一个lisp例程来实现您想要的功能。从下面的链接开始。使用出现的搜索框并键入单词“View”。
 
http://cadtips.cadalyst.com/

Lt Dan's l 发表于 2022-7-6 10:43:15

类型-视图

Tharwat 发表于 2022-7-6 10:45:19

谢谢,丹中尉。
 
这是一个Autocad命令,我正在寻找与UCS或trans function或。。。。。。任何有用的想法。
 
当做
 
塔瓦特

Lt Dan's l 发表于 2022-7-6 10:49:22

对不起,我以为你在命令提示符和窗口上寻找什么

The Buzzard 发表于 2022-7-6 10:56:03

请参阅开发人员帮助部分中的DXF参考,然后查看公共符号表组。
 
有UCS和VIEW的参考。关于DXF编码,有很多内容可以让您开始学习。
 
我总是使用开发者帮助部分,因为它在我需要时总是可用的。这是一个好的开始。

David Bethel 发表于 2022-7-6 10:59:00

当前UCS的视图可以如下所示:
 
 

(setq ucsv (trans '(0 0 1) 1 0))
(command "_.VPOINT"ucsv)

 
-大卫

Tharwat 发表于 2022-7-6 11:02:05

谢谢Buzzard,这是一个非常大的基础。
 
谢谢David,你的例子正是我想要从各个方面理解的,特别是反函数。
 
因为有了这个函数,我们可以控制Lisp例程的方向,如果你能给出更多的例子,
这对我很有帮助。
 
顺致敬意,
 
塔瓦特

David Bethel 发表于 2022-7-6 11:09:18

这很简单:
 
VPOINT仅获取WCS点
 
(trans’(0 0 1)1 0)
 
将法线拉伸方向0,0,1从当前UCS转换为WCS。它不能考虑UCS的Z轴旋转。可能也无法处理已移动的UCS原点-大卫

CALCAD 发表于 2022-7-6 11:10:39

大卫,
如果我用你的例子写一个可用的程序,它似乎需要反式表达式中的“T”才能工作。没有“T”,我会得到奇怪的结果。
我使用的是Intellicad,而不是Autocad,因此可能会有差异,但我以前没有看到trans使用的任何差异。
(defun c:vtest (/)
(setq ucsv (trans '(0 0 1) 1 0 T))
(command "_.VPOINT"ucsv)
(princ)
)
页: [1] 2
查看完整版本: Autolisp代替视图逗号