16 12
发新话题
打印

AUTOCAD轻松学 [第一部第六章]3D面的棱边可视性(EDGE.LSP)

AUTOCAD轻松学 [第一部第六章]3D面的棱边可视性(EDGE.LSP)

简介
! D/ `; O% m5 rCAD的3DMESH(网面)事实上又许多小的3DFACE以格状的方式组成的,而3DFACE最多只能是三边形或四边形,如果碰到较不规则的面如五边形或更多边形的面时,我们需要用PFACE(多重面)或是用好几个3DFACE把他拼凑起来。PFACE事实上也是有许多个小的3DFACE组成的,只是它会自动把几个面与面交接的棱边隐藏起来(不可见),若碰到一个挖洞的面时,PFACE就无能为力了,我们只好用一些3DFACE以围绕的方式去兜起来,至于3DFACE与3DFACE交接的棱边则需用人工的方式去隐藏,虽然当我们执行3DFACE命令时可以先用I来宣告接下来画的EDGE为Invisiable(不可见),但使用者经常会弄错,CAD提供了一个EDGE.LSP应用程序来帮助我们在事后去控制3DFACE棱边的可视性。4 N% Z' I/ q0 c% m9 W1 _
( q& q; M" [& Y% ~* S3 [
命令练习- S% e6 d8 J' `5 A
进入CAD,开始一张新图! m( I, z4 C" w3 B" e& m2 M# r0 o
用VPOINT命令设定适当的平行投影观测点. I. G9 H/ n5 d
用ZOOM C 方式设定适当的屏幕作图范围
; u4 n1 P/ s- M% h3 f% `* `用3DFACE命令画一个20X20的工作面3 O! |0 Z6 e. r. b) F) Y8 }& f
------------------------------------------------------------------
引用:
. k$ d. m8 t8 m9 g正在重生成模型。* [1 r) y& x5 \9 f2 y% B
AutoCAD 菜单实用程序已加载。
! I8 ?/ P& |- f9 w0 R  W命令: vpoint) i' V  r" F7 y7 A2 F" R* A
当前视图方向:  VIEWDIR=0.0000,0.0000,1.0000  W" M4 a% M& @$ S
指定视点或 [旋转(R)] <显示坐标球和三轴架>: 1,-2,1.5    (第四象限上方)
: A7 M, C- X- U9 ]1 x2 l3 E正在重生成模型。4 w) X0 ?1 M6 n$ m6 n4 C9 `
命令: zoom9 X- w2 g! ?+ w& S# l, n
指定窗口角点,输入比例因子 (nX 或 nXP),或
* F. N9 W# ~) Y8 x/ v[全部(A)/中心点(C)/动态(D)/范围(E)/上一个(P)/比例(S)/窗口(W)] <实时>: c( l9 _0 g* @8 o2 `2 l
指定中心点: 10,10                        (屏幕视图中心)1 u" v4 z/ z* {- C( l
输入比例或高度 <609.4521>: 15            (屏幕视图高度)
1 D+ f  P7 O: }0 T, L6 O命令: 3dface
! k! u! a/ {$ s% s. R指定第一点或 [不可见(I)]: 0,0
# ^3 b7 {& v3 e指定第二点或 [不可见(I)]: 20,0
/ @* ^. k/ N" V& _; ]* P  H指定第三点或 [不可见(I)] <退出>: 20,209 t9 q6 j1 o7 \
指定第四点或 [不可见(I)] <创建三侧面>: 0,20
3 O$ w9 z/ N7 o指定第三点或 [不可见(I)] <退出>:

附件

0.jpg (20.03 KB)

2007-5-21 03:12

0.jpg

1.jpg (11.62 KB)

2007-5-21 03:12

1.jpg

赠人玫瑰,手有余香。

TOP

用3DFACE命令“一次”画出4个围绕成一圈的梯形面
: p$ y# {6 ~5 q2 s6 I* s. O---------------------------
复制内容到剪贴板
代码:
命令: 3dface
指定第一点或 [不可见(I)]: 2,7
指定第二点或 [不可见(I)]: @1,1
指定第三点或 [不可见(I)] <退出>: @2,0
指定第四点或 [不可见(I)] <创建三侧面>: @1,-1
指定第三点或 [不可见(I)] <退出>: @0,4
指定第四点或 [不可见(I)] <创建三侧面>: @-1,-1
指定第三点或 [不可见(I)] <退出>: @-2,0
指定第四点或 [不可见(I)] <创建三侧面>: @-1,1
指定第三点或 [不可见(I)] <退出>: @0,-4
指定第四点或 [不可见(I)] <创建三侧面>: @1,1
指定第三点或 [不可见(I)] <退出>:

附件

2.jpg (14.28 KB)

2007-5-21 03:12

2.jpg

赠人玫瑰,手有余香。

TOP

用AutoLISP的LOAD函数来装入EDGE应用程序6 o4 s, ^) r" B4 n5 A) |
把APERTURE(捕捉框)系数变量设为5个光点大
$ V6 [3 O, g" d5 w' g8 p4 q& r执行EDGE命令,把4个梯形面交接的棱边隐藏起来(不可见,Invisible)$ R' G; s7 l, M, u$ F
---------------------
复制内容到剪贴板
代码:
命令: (load"edge")
C:EDGE
命令: aperture
对象捕捉靶框高度 (1-50 像素) <10>: 5
自动保存到 C:\Documents and Settings\3\Local
Settings\Temp\Drawing1_1_1_8467.sv$ ...
命令:
命令: edge
指定要切换可见性的三维表面的边或 [显示(D)]:   (依次选取四个棱边)
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:

注:若APERTURE(捕捉框)太大,太短或靠的太近的棱边有时容易选错

附件

3.jpg (14.49 KB)

2007-5-21 03:13

3.jpg

赠人玫瑰,手有余香。

TOP

用COPY命令把刚画好的4个面向垂直上方复制一份# c! ?' [0 R- A: u$ l/ _: k- n
执行HIDE命令来看一下消除隐藏线后的情形
8 Y) P1 R" m+ O7 _5 \-----------------------------
复制内容到剪贴板
代码:
命令: copy
选择对象: w                             (W:用窗口选取)
指定第一个角点: 指定对角点: 找到 4 个
选择对象:
指定基点或位移,或者 [重复(M)]: 0,0,1
指定位移的第二点或 <用第一点作位移>:
命令: hide
正在重生成模型。

附件

4.jpg (14.63 KB)

2007-5-21 03:14

4.jpg

赠人玫瑰,手有余香。

TOP

先用RECTANG命令画一个8X8的正方形$ I/ ?) F: F" s5 `* @
再用CIRCLE命令在正方形正中央画一个半径为2个圆
$ A8 `3 o/ S& t& I-----------------------------------------------------
复制内容到剪贴板
代码:
命令: rectang
指定第一个角点或 [倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)]: 9,7
指定另一个角点或 [尺寸(D)]: @8,8
命令: circle
指定圆的圆心或 [三点(3P)/两点(2P)/相切、相切、半径(T)]: 13,11
指定圆的半径或 [直径(D)]: 2

附件

5.jpg (17.32 KB)

2007-5-21 03:14

5.jpg

赠人玫瑰,手有余香。

TOP

把PDMODE(点图元显示模式)系统变量设为3/ ]# d$ I2 {! J! ]) w/ T6 y: k8 V0 u
把PDSIZE(点图元显示大小)系统变量设为0.15
  u! ~0 r0 n1 ^# l5 u3 ~执行DIVIDE命令,把刚才画的圆分成20等份
1 Q& \- Z6 {- q$ ]8 s--------------------------
复制内容到剪贴板
代码:
命令: pdmode
输入 PDMODE 的新值 <0>: 3
正在重生成模型。
命令: pdsize
输入 PDSIZE 的新值 <0.0000>: 0.15
正在重生成模型。
命令: divide
选择要定数等分的对象:          (选取圆)
输入线段数目或 [块(B)]: 20

附件

6.jpg (17.22 KB)

2007-5-21 03:15

6.jpg

赠人玫瑰,手有余香。

TOP

用OSNAP命令设定“端点”与“节点”捕捉模式
; m1 ]3 S$ l& S) J6 `" U- h再用3DFACE命令,按照以下的点取顺序一次画出6个面* u4 \& o! j1 P
---------------------------------------
复制内容到剪贴板
代码:
命令: osnap
命令:
命令: 3dface
指定第一点或 [不可见(I)]:                           (点取1)
指定第二点或 [不可见(I)]:                           (点取2)
指定第三点或 [不可见(I)] <退出>:                    (点取3)
指定第四点或 [不可见(I)] <创建三侧面>:              (点取1)
指定第三点或 [不可见(I)] <退出>:                    (点取4)
指定第四点或 [不可见(I)] <创建三侧面>:              (点取3)
指定第三点或 [不可见(I)] <退出>:                    (点取3)
指定第四点或 [不可见(I)] <创建三侧面>:              (点取5)
指定第三点或 [不可见(I)] <退出>:                    (点取6)
指定第四点或 [不可见(I)] <创建三侧面>:              (点取3)
指定第三点或 [不可见(I)] <退出>:                    (点取3)
指定第四点或 [不可见(I)] <创建三侧面>:              (点取7)
指定第三点或 [不可见(I)] <退出>:                    (点取8)
指定第四点或 [不可见(I)] <创建三侧面>:              (点取3)
指定第三点或 [不可见(I)] <退出>:

附件

7.jpg (13.58 KB)

2007-5-21 03:15

7.jpg

7.1.jpg (19.41 KB)

2007-5-21 03:15

7.1.jpg

赠人玫瑰,手有余香。

TOP

执行OSNAP NONE关掉对象捕捉模式1 b- U& s# R, Q2 M+ A) p
然后用ERASE命令把原来画的正方形与圆(包括圆上20个等分参考点)删除,只留下刚才画的6个3DFACE1 k- [7 c! q) ^- U4 S
再执行REDRAW重画屏幕% S! Q" k* [; V
------------------------------------------------
复制内容到剪贴板
代码:
命令: osnap
命令:
命令: erase
选择对象: 找到 1 个         (先选取正方形)
选择对象: w                 (再用W:窗口选取整个圆与其上的节点)
指定第一个角点: 指定对角点: 找到 21 个,总计 22 个
选择对象:
命令: redraw

附件

8.jpg (18 KB)

2007-5-21 03:16

8.jpg

赠人玫瑰,手有余香。

TOP

执行EDGE命令,分别点取7条棱边把它们隐藏起来
' U) F8 `# X2 S注:若选取棱边有困难时,可用ZOOM命令把图形放大一些再来执行EDGE& e- [" L& W$ C
------------------
复制内容到剪贴板
代码:
命令: edge
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:
指定要切换可见性的三维表面的边或 [显示(D)]:

附件

9.jpg (9.33 KB)

2007-5-21 03:16

9.jpg

赠人玫瑰,手有余香。

TOP

执行ARRAY命令,把刚才“不显示”的6个面用POLAR(环形阵列)的方式拷贝
2 ^0 e. v2 q& v( m0 }-------------------------
复制内容到剪贴板
代码:
命令: array
选择对象: 指定对角点: 找到 6 个       (W:用窗口选取不显示的6个面)
选择对象:

附件

10.jpg (36.03 KB)

2007-5-21 03:16

10.jpg

10.1.jpg (18.72 KB)

2007-5-21 03:16

10.1.jpg

赠人玫瑰,手有余香。

TOP

 16 12