明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2506|回复: 5

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

[复制链接]
发表于 2004-4-28 14:40:00 | 显示全部楼层 |阅读模式
;;在模型空間設定視埠+vports,標準的"四個:左",右邊是東南角視圖,
;;左邊有三個視圖,最上面是"前視圖",中間是"上視圖",
;;"下邊是右視圖"手動簡單,但lisp要如何寫???
;; "*active" vport的entget,但它的4個視埠記錄在那??
(entget (tblobjname "vport" "*active") '("*")) ;|
((-1 . <圖元名稱: 7ef8e0c8>)
(0 . "VPORT")
(330 . <圖元名稱: 7ef8cc78>)
(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 . <圖元名稱: 7ef8cc78>)
(0 . "TABLE")
(2 . "VPORT")
(330 . <圖元名稱: 0>)
(5 . "445F")
(100 . "AcDbSymbolTable")
(70 . 5)
)
|;
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 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)
)
 楼主| 发表于 2004-4-29 11:21:00 | 显示全部楼层
能從DXF OR VLISP查他們的資料嗎?


VPP連續執行就會有不一樣的結果 !! 8-(
发表于 2004-4-29 14:15:00 | 显示全部楼层

VPORT 组码

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 03:34 , Processed in 0.181187 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表