问题标签 [cad]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
376 浏览

geometry - 关于 BSpline 的问题

这是一个包含 3D 点簇的数据文件。现在我们可以从中形成一个BSpline表面。

现在我们可以看到结构了。但问题是我想制作一个 3D 实体,而这个结构实际上有两个可见的孔。

在此处输入图像描述

在下一张图片中,我们可以看到两个角落都是开放的,结构不是实心的,实际上是空心的。

在此处输入图像描述

所以我想出了一个解决方案,我确信它可以在视觉上工作,但不会返回一个坚实的结构。

GraphicsGrid[ {{ParametricPlot3D[surface[x,y],{x,0,1},{y,0,1}, PlotPoints-> 20,Mesh-> All,Boxed->False,Axes-> None], Graphics3D[{Polygon[Table[surface[0,y],{y,0,1,0.005}]], Polygon[Table[surface[1,y],{y,0,1,.005}]]} ],图片}}]

这里是输出。 在此处输入图像描述

现在我们将孔在视觉上封闭的第三张图片导出为 *.obj 文件。我们可以在任何基于 CAD 的网格编辑器(如Meshlab )中导入该文件。可以看到要检测的孔。

在此处输入图像描述

现在有一种简单的方法可以让我们使用Foil.mat文件中的给定数据点在 Mathematica 中形成一个实体结构。我希望函数中可能会提供一些选项BSpline来实现这一点。正如人们所期望的那样,我想要一个没有孔的封闭表面。

希望我能够足够明确地解释我的问题。将等待您的回复。

BR

0 投票
1 回答
588 浏览

input - Mathematica 的编程挑战

我正在用 Mathematica 连接一个外部程序。我正在为外部程序创建一个输入文件。它关于将 Mathematica 生成的图形中的几何数据转换为预定义的格式。这是一个示例几何。

图1

图1

几何可以在 Mathematica 中以多种方式描述。一种费力的方法如下。

GraphicsComplex这会以 MMA 格式 生成所需的 3D 几何图形。在此处输入图像描述

该几何图形被描述为我的外部程序的以下输入文件。

现在我从这个外部程序的文档中得到的描述很短。我在这里引用它。


  1. 第一个关键字NODES表示节点总数。此行之后不应有注释或空行。下一行由三个值 x、y 和 z 节点坐标组成,行数必须与节点数相同。
  2. 下一个关键字是PANEL并说明我们有多少个面板。之后,我们有定义每个面板的行。第一个整数定义面板类型
  3. ID 1 -四边形面板- 由四个节点和四个相邻面板定义。相邻面板是共享相同侧面(节点对)的面板,并且需要用于速度和压力计算(方法 1 和 2)。缺失的邻居(例如后缘附近的面板)用值 0 填充(参见图 1)。
  4. ID 2三角形面板– 由三个节点和三个相邻面板定义。
  5. ID 10尾流面板– 是由四个节点和两个(相邻)面板定义的四边形面板,它们位于后缘(尾流面板应用 Kutta 条件的面板)。
  6. 面板类型 1 和 2 必须在输入文件中的类型 10 之前定义。需要注意的是表面法线;定义面板的节点顺序应该是逆时针的。根据右手法则,如果手指弯曲以跟随编号,拇指将显示应该指向“向外”几何图形的法线向量。

挑战!!

我们在一个名为One.obj的文件中给出了一个 3D CAD 模型,它可以在 MMA 中很好地导出。

输出是一个 MMAGraphics3D对象 在此处输入图像描述

现在,当 MMA 在内部读取几​​何数据时,我可以轻松访问它们。

在此处输入图像描述

  1. 我们如何使用包含在文本文件中的顶点和多边形信息,ver1并将pol1它们写入文本文件,如上面输入文件示例中所述。在这种情况下,我们将只有ID2类型(三角形)面板。
  2. 使用 Mathematica 三角测量如何找到这个 3D 对象的表面积。是否有任何内置函数可以计算 MMA 中的表面积?
  3. 现在不需要创建唤醒面板或ID10类型的元素。只有三角形元素的输入文件就可以了。

很抱歉这么长的帖子,但这是一个我试图解决很长时间的难题。希望你们中的一些专家可能有正确的见解来破解它。

BR

0 投票
2 回答
79 浏览

java - How to represent the inside of a building for an app on android mobile?

What software would i need to represent the inside of a building? I'm making an app which will locate the user and tell them where they are in the building and how to get to a certain room. How would i display this?

0 投票
2 回答
1877 浏览

opengl - OpenGL中可表示的曲线

我是 CAD 开发的初学者,想了解一些关于 OpenGL 的知识。我的主要目标是表示圆锥曲线、摆线、外摆线、内摆线、渐开线等我可以使用一些三角函数直接表示它们,还是需要将这些曲线转换为 B 样条曲线?实际上,我目前正在开发内核并想开发内核,这样我就无法显示上述曲线。(如果我不能以图形方式表示它们,那么在内核中支持这些曲线是没有用的!)我对 OpenGL 了解不多,所以如果我的问题真的很愚蠢,请原谅我!我试着在这里搜索,但找不到任何有用的东西。

0 投票
4 回答
1604 浏览

java - 在 C++ 程序中执行 jar 文件

我正在开发一个 CAD 软件,其中我的图形部分使用opnegl并且内核是用c++ 开发的。对于窗口界面,我被建议使用QT,但由于我的软件用于商业用途,我不想使用 QT,而是使用Java。我的问题是,我可以在我的 C++ 程序中使用 jar exe(因为我的内核是 C++ 并且内核控制程序)?如果是的话,任何人都可以提供一些简单的例子或一些网站。如果没有,其他选择是什么?

我需要windows界面主要是为了让用户通过提供一些用户可以点击的小图标来选择他想要执行的操作(创建点、线、圆等)。我还需要用于弹出窗口的 windows 界面来显示警告错误、接受输入参数等。

0 投票
1 回答
1428 浏览

asp.net - 如何在使用 http://www.woutware.com 上传之前验证 .dxf 文件?

如何使用 Cad lib 库 (http://www.woutware.com) 对 .dxf 文件应用以下验证。

我想上传一个 .dxf 文件,并想在上传之前应用以下检查。

  • 我可以与我的激光机一起使用的程序需要 AutoCAD 2000 版本的 .dxf;
  • 绘图必须包含在 1000x700 单位的矩形中,因为程序将单位解释为毫米;
  • 不接受任何块或 AES 对象;
  • 默认第 0 层用于切割,最多 7 层用于雕刻(最多 8 层)
  • 所有对象都应该是 2D,不允许 3D 对象(大多数 SPLines)
0 投票
1 回答
1968 浏览

iso - STEP 第 21 部分 (ISO 10303-21) CAD 文件中的值是否可以自由嵌入到实体中?

实体中的值是否可以自由嵌入到 ISO 10303-21 格式的文件中?

在我看到的所有从 CAD 程序生成的示例中,length_measure 嵌入到了不确定性_measure_with_unit 中,如下所示:

这是必需的吗?可以将其更改为,例如:

相反,我们会看到这样的情况:

假设 #92 未被任何其他实体使用,是否可以将其更改为:

我问的原因是,我无法访问 ISO 10303,因为它被锁在数百美元的付费墙后面,而且处理 STEP 的网站都没有谈论嵌入值。

0 投票
1 回答
2857 浏览

3d - Triangle vertex winding order in stereolithography (STL) files (triangulated objects)

I'm working on an STL file importer and thought I'd make use of the normal given to determine the triangle winding order. Sample data with 4 triangles is included below (original data has over 70k triangles). My code's logic computes the normal assuming the vertices are specified anticlockwise, then does a dot product of this calculated normal with the supplied normal. If the result is positive, then I assume anticlockwise, else clockwise.

This logic fails on a set of files from a particular 3D scanner. When I load these files into Rhino3D though, and issue "Dir" to look at the normal direction, Rhino has the direction correct! Same with a couple of other STL viewers I've tried.

My code deduces that the vertices are supplied in clockwise order on the sample data, but when using that winding order, the model is inside-out, implying the supplied normals are wrong.

This leads me to the conclusion that it is convention for STL importers to ignore the supplied normal, and assume anticlockwise winding order. I'm looking for people with more experience in the STL file format to weigh in on whether my assumption is correct.


EDIT: My calculations for the first facet:

0 投票
2 回答
146 浏览

python - 理解编程的不同方法

我是编程新手。在搞砸了objective-c之后,我决定坚持使用Python。我开始掌握大部分基本概念,但作为一名艺术家,我会从视觉上思考。这就是说,我想尝试反向工作。换句话说,我想从一个完整的、功能齐全的软件开始,然后查看代码并弄乱它,看看什么是什么。这是一种类似于 CAD 建模的方法,您可以在其中查看模型中的哪些特征影响它,以及如何影响它。对于那些不熟悉 CAD 的人来说,这可能没有意义,但我希望那里有人能联系起来?

0 投票
0 回答
140 浏览

cocoa - 从 Cocoa 应用程序生成打印输出时,如何缩放到真实世界的单位?

我正在用 Cocoa 编写一个专门的 CAD 工具。该工具读取包含精确尺寸信息和非常精细细节的“Gerber”文件,并且它需要生成与规格完全对应的打印输出(假设它们在打印设备的能力范围内)。

我可以轻松地将我的绘图缩放到任何分辨率,但是如何在我的 -drawRect: 方法中获取打印目标设备的准确分辨率信息?

在文档中四处挖掘,我看到了在打印设置对话框中显示的一些分辨率信息的位置;但是,我认为这些信息不够详细。例如,它通常会说喷墨打印机是 600 DPI,而实际设备不产生方形点(例如,“现实世界”的分辨率可能类似于 620x400 DPI)。

[有一篇有趣的文章详细解释了为什么知道硬件分辨率对于避免打印输出中的光栅化伪影至关重要。]