溜溜问答 > 平面设计 > CAD问答 > 如何把CAD三维坐标改成二维坐标?
kiss mayue
kiss mayue
邀请你来回答
305人阅读 2020-10-11

如何把CAD三维坐标改成二维坐标?

我要回答
2个回答

那要看怎么投影了
直接去掉z坐标也是变成2d的,只不过是把z坐标都压缩在一个平面了
下面的是轴测图
option base 1
PRivate type linenum
sp as integer
ep as integer
end type
dim px(), py(), pz()
dim pt(12, 4)
dim ln(18) as linenum
dim lp1(6) as pointapi

PRivate SUb Form_load()
show
px = array(-180, -320, -320, -250, -250, -180, -180, -320, -320, -250, -250, -180)
py = array(0, 0, 0, 0, 0, 0, 120, 120, 120, 120, 120, 120)
pz = array(50, 50, 110, 110, 200, 200, 50, 50, 110, 110, 200, 200)
pl = array(1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 1, 7, 8, 8, 9, 9, _
10, 10, 11, 11, 12, 12, 7, 1, 7, 2, 8, 3, 9, 4, 10, 5, 11, 6, 12)
For i = 1 to 12
pt(i, 1) = px(i)
pt(i, 2) = py(i)
pt(i, 3) = pz(i)
pt(i, 4) = 1
next
For i = 1 to 18
ln(i).sp = pl(2 * i - 1)
ln(i).ep = pl(2 * i)
next i

dim t0(4, 4), t(4, 4), p(12, 4)
unit3D t0()
zhouce t
mat3D t0(), t()
mat3D1 pt, t0, p, 12
For i = 1 to 18
pic.line (p(ln(i).sp, 1), p(ln(i).sp, 2))-(p(ln(i).ep, 1), p(ln(i).ep, 2))
next
For i = 1 to 6
lp1(i).x = p(i, 1): lp1(i).y = p(i, 2)
next

end SUb

'option explicit
option base 1
const axis_x = &h1 'x轴
const axis_y = &h2 'y轴
const axis_z = &h3 'z轴
public const PS_solID = 0

public type pointapi
x as long
y as long
end type

public SUb unit3D(t()) '生成单位矩阵
For i = 1 to 4
For j = 1 to 4
t(i, j) = 0
next j
t(i, i) = 1
next i
end SUb

public SUb scale3D(t(), cx, cy, cz) '比例变换矩阵
unit3D t
t(1, 1) = cx
t(2, 2) = cy
t(3, 3) = cz
end SUb

public SUb move3D(t(), dx, dy, dz) '平移变换矩阵
unit3D t
t(4, 1) = dx
t(4, 2) = dy
t(4, 3) = dz
end SUb

public SUb rotate3D(t(), asix%, alf) '绕某一个坐标轴旋转alf角的变换矩阵
'asix为常量,&h1代表x轴,&h2代表y轴,&h3代表z轴
unit3D t
select case asix
case axis_x
t(2, 2) = cos(alf): t(2, 3) = cos(alf)
t(3, 2) = sin(alf): t(3, 3) = -sin(alf)
case axis_y
t(1, 1) = cos(alf): t(1, 3) = cos(alf)
t(3, 1) = sin(alf): t(3, 3) = -sin(alf)
case axis_z
t(1, 1) = cos(alf): t(1, 2) = cos(alf)
t(2, 1) = sin(alf): t(2, 2) = -sin(alf)
end select
end SUb

public SUb shear3D(t(), shxy, shxz, shyz, shyx, shzx, shzy)
'后六个参数分别为:
'沿x含y错切,沿x含z错切
'沿y含z错切,沿y含x错切
'沿z含x错切,沿z含y错切的系数
t(1, 2) = shyx: t(1, 3) = shzx
t(2, 1) = shxy: t(2, 3) = shzy
t(3, 1) = shxz: t(3, 2) = shyz
end SUb

public SUb pers(t(), q) '透视变换矩阵
unit3D t
t(2, 4) = q
end SUb

public SUb mat3D(a(), b()) '矩阵相乘子程序
dim c(4, 4)
For i = 1 to 4
For j = 1 to 4
c(i, j) = 0
For k = 1 to 4
c(i, j) = c(i, j) + a(i, k) * b(k, j)
next k
next j
For j = 1 to 4
a(i, j) = c(i, j)
next j
next i
end SUb

public SUb mat3D1(a(), t(), c(), n) '矩阵变换子程序
For i = 1 to n
For j = 1 to 4
c(i, j) = 0
For k = 1 to 4
c(i, j) = c(i, j) + a(i, k) * t(k, j)
next k
next j
For j = 1 to 3
if (abs(c(i, 4) > 0.00000001)) then
c(i, j) = c(i, j) / c(i, 4)
else
c(i, j) = 999
end if
next j
next i
end SUb

public SUb zhouce(t())
unit3D t
t(1, 1) = -0.7071
t(1, 2) = -0.4082
t(2, 1) = 0.7071
t(2, 2) = -0.4082
t(3, 2) = 0.8165
t(3, 3) = 0
end SUb

public SUb xie2(t())
unit3D t
t(2, 1) = -0.354
t(2, 2) = -0.354
end SUb

查看全部
2020-10-11
回复 采纳

CAD的工具栏中有一个叫“视觉样式”的共具里面的第一个是“二维线框”点击它就可以了

查看全部
2020-10-11
回复 采纳

相关问题

CAD中,怎样将坐标三维坐标变成二维坐标?
共2条回答 >
鹿露侠: 1、首先单击桌面快捷方式打开AutoCAD2014-简体中文软件。2、然后,通过菜单栏“文件”和“打开”选项,“选择文件”对话框加载3D模型。3、然后找到[工作区]选项的位置。一个是左上角的“工作空间”下拉框。4、另一个是右下角的“切换工作区”按钮,将工作区设置为“草图和注释”。5、然后将绘图区域中的[视图控件]设置为[顶视图]。6、然后将绘图区域中的视觉样式控制设置为2d线框。7、最终三维改二维坐标的效果如图。
回复
如何把CAD2007中的三维坐标改成二维坐标?
共2条回答 >
、董永立: 点视觉样式中的二维线框,然后输入plan,再输入w就行了,具体可参考下图:
(19) 回复
UG三维坐标怎么改成二维坐标?
共2条回答 >
Dalvin: UG是三维软件,它的坐标当然要包括xyz三坐标。只有在制图模块和草绘模块中,才能出现类似CAD的二维坐标形式。按f8只能改变视图方式,并不能改变坐标形式。
回复
怎么把CAD三维坐标改成二维坐标
共1条回答 >
letter: 将CAD三维坐标改成二维坐标的方法有很多种,但因软件或是坐标情况而异。现在我给大家介绍几种方法,希望会有所帮助:1、选择工具栏中的“新建uCS”,然后点击应用。接下来在命令行输入“plan”,选择“当前uCS”。2、这是直接在视图中改为二维坐标的视图,也算是比较简单的方法。3、可以试一下flatten命令,在命令行输入shademode,然后输入2d即可。
回复
CAD二维坐标怎样转换三维坐标,如图?
共1条回答 >
紫缘: 在工具栏上单击右键后弹出这个,选中视图工具栏单击后面这四个都可以实现你说的这种效果
(5) 回复
发表成功!
感谢您的分享!
好的