gtwatson 发表于 2022-7-7 19:14:44

将三维图形展平到二维

我已经将一个三维棒状图形导出到DXF(这些只是线,没有实体对象),并将其导入AutoCAD 2006(2012年已订购,但尚未安装)。我通常在2D中绘制,并希望将3D线条展平,但我遇到了麻烦。
 
当我发出“展平”命令并说“是”以删除隐藏线时,需要一段时间,我确实得到了一个二维DWG,但我的三维图形背面的线彼此重叠。有并没有办法将平面上的线块粘贴到新的DWG中?
 
我将尝试附上我的3D模型的屏幕截图(这是一个格子输电塔)。

ReMark 发表于 2022-7-7 19:19:47

您可以尝试使用FLATSHOT命令。

Cad64 发表于 2022-7-7 19:26:28

如果你想使用Flatshot,你必须等到安装2012。它在2006年不可用。仅2007年及以后。

nestly 发表于 2022-7-7 19:34:45

无论如何,我不确定FLATSHOT是否会将3D线条变平。(至少我的没有)
 
“命令:flatshot
没有可以投影的实体或曲面。"
 
如果问题只是重叠/重复行,如果安装了Express Tools,请在展平后使用OVERKILL。

gtwatson 发表于 2022-7-7 19:35:53

我确实在另一台电脑上加载了2012,我尝试了flatshot,结果我发现了nestly发布的错误。
 
展平的问题是,它采用了我的线的第三个坐标,并使其为0.0,如果模型的四个面上只有线,那么这就可以了。我的问题是,我有几条从正面到侧面的线,我不需要它们在平坦的结果中。
 
我的主要问题是,我自学了AutoCAD,知道2D是如何工作的,可以画线和圆,然后在上面放文字,但我不知道3D在ACAD中是如何工作的。我通常只是在模型空间中工作,画出全尺寸的结构,然后弹出一个标题栏,将零件缩小到适合标题栏的范围内,并在零件上标注尺寸。自20世纪80年代以来,它一直运行良好,但当我不得不处理3D中的线条时,我陷入了困境。
 
我是一名结构工程师,我一直在用3D建模输电塔,并习惯于在其他结构软件中工作。
 
我不确定如何在ACAD中执行此操作,但我需要定义一个包含面上的线的有界平面,然后仅由这些线(及其端点)组成一个块,以便我可以将该平面粘贴到我用于处理的二维DWG中。
 
我确实计划参加一些ACAD课程并学习3D建模,但我发布的屏幕截图显示了我312英尺高的格子塔的顶部,我需要将其发送给结构详图设计师,我需要在此单线示意图上定义所有角度尺寸、螺栓和连接细节。

danellis 发表于 2022-7-7 19:43:39

尝试查看隐藏线投影。我可以告诉你在R2010和以后的版本中在哪里找到它,遗憾的是,这对你没有多大帮助。
 
我希望是在2006年!
 
dJE

ReMark 发表于 2022-7-7 19:49:27

你可以试试李的Superflat程序,如下所述:http://www.cadtutor.net/forum/showthread.php?58889-三维到二维lisp&高亮显示=展平
 
再看看这个线程,其中讨论了一些展平3D几何体的方法。http://www.cadtutor.net/forum/showthread.php?59342-请帮忙-How-to-convert-3D-drawing-to-2D-drawing&highlight=展平

gtwatson 发表于 2022-7-7 19:53:20

我尝试了隐藏命令,但由于图形只是三维空间中的一束线,并且不包含任何实体对象,因此它没有做任何事情。

gtwatson 发表于 2022-7-7 19:58:02

 
我试过Superflat LSP,效果很好。我还跑得太快了,去掉了相互重叠的线条。超平面在XY平面上工作,我得到了我的塔模型的宽面,但我也想得到YZ平面上的窄面。
 
我已经在下面粘贴了Supflat代码。如果我想在YZ平面上展平模型,可以将“list 0 0 n”更改为“list n 0 0”吗?
 
或者我会做些什么来将X坐标展平到0.0
 
 

(defun c:Supflat (/ ss ssObj j)
(vl-load-com)
(vlax-map-collection
(vla-get-Layers
(vla-get-ActiveDocument
(vlax-get-acad-object)))
'(lambda (x) (vla-put-lock x :vlax-false)))
(if (setq ss (ssget "X" (list (cons 410 (getvar "CTAB")))))
(progn
(setq ssObj (mapcar 'vlax-ename->vla-object
(mapcar 'cadr (ssnamex ss))) j 0)
(foreach Obj ssObj
(foreach n '(1e99 -1e99)
(if (vl-catch-all-error-p
(vl-catch-all-apply
'(lambda (x)
(vla-move x (vlax-3d-point (list 0 0 0))
(vlax-3d-point (list 0 0 n))))
(list Obj)))
nil
(setq j (1+ j)))))
(princ (strcat "\n" (rtos (/ j 2.0)) " Objects Flattened.")))
(princ "\n<!> No Objects Found <!>"))

nestly 发表于 2022-7-7 20:04:25

我不熟悉superflat,但展平只是将您的模型投影到当前的查看平面上,所以要创建另一个视图,只需在第一次使用展平之前,根据您想要的视图数量复制您的模型,然后将视图旋转到您想要投影的一侧。创建投影后,必须将其旋转回平面图。(也适用于制作等轴测图)
页: [1] 2
查看完整版本: 将三维图形展平到二维