乐筑天下

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

[讨论]請問如何在模型空間設定視埠??

[复制链接]

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2004-4-28 14:40:00 | 显示全部楼层 |阅读模式
;;在模型空間設定視埠+vports,標準的"四個:左",右邊是東南角視圖,
;;左邊有三個視圖,最上面是"前視圖",中間是"上視圖",
;;"下邊是右視圖"手動簡單,但lisp要如何寫???
;; "*active" vport的entget,但它的4個視埠記錄在那??
(entget (tblobjname "vport" "*active") '("*"))
;|
((-1 . )
         (0 . "VPORT")
         (330 . )
         (5 . "4719")
         (100 . "AcDbSymbolTableRecord")
         (100 . "AcDbViewportTableRecord")
         (2 . "*Active")
         (70 . 0)
         (10 0.0 0.0 0.0)
         (11 1.0 1.0 0.0)
         (12 211.19 148.5 0.0)
         (13 0.0 0.0 0.0)
         (14 5.0 5.0 0.0)
         (15 5.0 5.0 0.0)
         (16 0.0 0.0 1.0)
         (17 0.0 0.0 0.0)
         (40 . 299.975)
         (41 . 1.58151)
         (42 . 50.0)
         (43 . 0.0)
         (44 . 0.0)
         (50 . 0.0)
         (51 . 0.0)
         (71 . 0)
         (72 . 100)
         (73 . 1)
         (74 . 1)
         (75 . 0)
         (76 . 0)
         (77 . 0)
         (78 . 0)
         (281 . 0)
         (65 . 1)
         (110 0.0 0.0 0.0)
         (111 1.0 0.0 0.0)
         (112 0.0 1.0 0.0)
         (79 . 0)
         (146 . 0.0)
)
|;
(entget
         (cdr
                         (assoc 330 (entget (tblobjname "vport" "*active") '("*")))
         )
)
;|
((-1 . )
         (0 . "TABLE")
         (2 . "VPORT")
         (330 . )
         (5 . "445F")
         (100 . "AcDbSymbolTable")
         (70 . 5)
)
|;
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-4-29 09:45:00 | 显示全部楼层
(defun C:vpp (/ oldCmdEcho)
         (setq oldCmdEcho (getvar "CMDECHO"))
         (setvar "CMDECHO" 0)
         (command "undo" "BE")
         (command "cvport" "2")
         (command "-vports" "SI")
         (command "-vports" 2 "v")
         (command "cvport" "3")
         (command "-vports" 3 "h")
         (command "cvport" "2")
         (command "-view" "_seiso" "zoom" "extents")
         (command "cvport" "3")
         (command "-view" "_front" "zoom" "extents")
         (command "cvport" "5")
         (command "-view" "_top" "zoom" "extents")
         (command "cvport" "4")
         (command "-view" "_right" "zoom" "extents")
         (command "undo" "END")
         (setvar "CMDECHO" oldCmdEcho)
         (princ)
)
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2004-4-29 11:21:00 | 显示全部楼层
能從DXF OR VLISP查他們的資料嗎?
VPP連續執行就會有不一樣的結果 !! 8-(
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-4-29 14:15:00 | 显示全部楼层
VPORT 组码
[U]组码[/U][U]说明[/U]
100子类标记 (AcDbViewportTableRecord)
2视口名
70标准标志值(位编码值):         
16 = 如果设置该位,表示表条目依赖于外部参照       
32 = 如果此位和位 16 都被设置,则表示所依赖的外部参照已被成功融入。       
64 = 如果设置该位,表示在上一次图形编辑时图形中至少有一个图元引用了该表条目。(此标志一般用于 AutoCAD 命令。大部分读取 DXF 文件的程序将其忽略,对于写 DXF 文件的程序也无须设置它。)
10视口左下角点。 DXF: X 值;APP:二维点
20DXF:视口左下角点坐标的 Y 值
11视口右上角点。 DXF: X 值;APP:二维点
21DXF:视口右上角点坐标的 Y 值
12视图中点(用 DCS 表示)。 DXF:X 值;APP:二维点
22DXF:视图中点坐标的 Y 值(用 DCS 表示)
13捕捉基点。 DXF:X 值;APP:二维点
23DXF:捕捉基点坐标的 Y 值
14捕捉间距的 X 和Y 值。 DXF:X 值;APP:二维点
24DXF:捕捉间距 X 和Y 值中的 Y 值。
15栅格间距的 X 和 Y 值。 DXF:X 值;APP:二维点
25DXF:栅格间距 X 和 Y 值中的 Y 值
16以目标点为起点的视图方向(用 WCS 表示) DXF:X 值;APP:三维点
26, 36DXF:以目标点为起点的视图方向的 Y 和 Z 值(用 WCS 表示)
17视图目标点(用 WCS 表示)。 DXF:X 值;APP:三维点
27, 37DXF:视图目标点坐标的 Y 和 Z 值(用 WCS 表示)
40视图高度
41视口宽高比
42镜头长度
43前剪裁平面(与目标点的偏移)
44后剪裁平面(与目标点的偏移)
50捕捉旋转角
51视图扭曲角
68APP:状态字段(不保存在 DXF 中)
69APP:ID(不保存在 DXF 中)
71视图模式(请参见 VIEWMODE 系统变量)
72圆缩放百分比
73快速缩放设置
74UCSICON 设置
75捕捉状态:开/关
76栅格状态:开/关
77捕捉样式
78捕捉 ISOPAIR
281渲染模式:         
0 = 二维最优化(传统二维)       
1 = 线框 2 = 消隐线       
3 = 平面着色 4 = 体着色       
5 = 带线框平面着色 6 = 带线框体着色       
除了二维最优化的所有渲染模式均嵌入新的三维图像管线。这些值直接与SHADEMODE命令和AcDbAbstractViewTableRecord::RenderMode枚举值通讯。
65用于本视口的UCSVP值。如果设为1,则视口保存其自己的UCS,该UCS将在无论什么时候视口被激活时成为当前的UCS。如果设为0,则当该视口成为活动视口时UCS不会更改。
110UCS 原点 DXF: X 值; APP: 三维点
120, 130DXF: UCS 原点的Y和Z值
111UCS X轴 DXF: X 值; APP: 三维矢量
121, 131DXF: UCS X轴的Y 和 Z 值
112UCS Y轴 DXF: X 值; APP: 三维矢量
122, 132DXF: UCS Y轴的Y 和 Z 值
79UCS的正交类型:         
0 = UCS 不正交;       
1 = 俯视; 2 = 仰视;       
3 = 主视; 4 = 后视;       
5 = 左视; 6 = 右视
146UCS 标高
345如果UCS为命名的UCS时的AcDbUCSTableRecord标识符/句柄。如果不存在,则UCS未命名。
346如果UCS为正交时(79组码为非0)的基础UCS 的AcDbUCSTableRecord标识符/句柄。如果组码79为0时该组码不存在。如果该组码不存在而组码79为非0值,则基础UCS被假设为WORLD。
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-4-29 14:36:00 | 显示全部楼层
晚上再来好好研究一下:)
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-4-29 20:11:00 | 显示全部楼层
;修改的程序如下。不知为何,好像(command "-vports" "SI")
;之后,CVPORT的值就在2和3之间切换
(defun C:vpp (/ oldCmdEcho)
         (setq oldCmdEcho (getvar "CMDECHO"))
         (setvar "CMDECHO" 0)
         (command "undo" "BE")
         (command "-vports" "SI")
         (command "-vports" 2 "v")
         (if (/= (car (cdr (assoc 10 (entget (tblobjname "vport" "*active") '("*"))))) 0)
                                         (cond ((= (getvar "CVPORT") 2)
                                         (command "cvport" "3")
                                         (command "-vports" 3 "h")
                                         (command "cvport" "2")
                                         (command "-view" "_seiso" "zoom" "extents")
                                         (command "cvport" "3")
                                         (command "-view" "_front" "zoom" "extents")
                                                                                         )
                                                                                         (T
                                         (command "cvport" "2")
                                         (command "-vports" 3 "h")
                                         (command "cvport" "3")
                                         (command "-view" "_seiso" "zoom" "extents")
                                         (command "cvport" "2")
                                         (command "-view" "_front" "zoom" "extents")
                                 )
                                         )
        )
         (command "cvport" "5")
         (command "-view" "_top" "zoom" "extents")
         (command "cvport" "4")
         (command "-view" "_right" "zoom" "extents")
         (command "undo" "END")
         (setvar "CMDECHO" oldCmdEcho)
         (princ)
)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-16 03:22 , Processed in 1.704634 second(s), 65 queries .

© 2020-2025 乐筑天下

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