我想导入一个文件".step"与Three.js一起使用,但我不知道怎么做
我没有找到任何话题,只有"第一步,第二步"
有人可以帮我吗?
我有一些相互扩展的类,每次都添加更多的属性。
现在我需要获取一个类的所有属性的列表,但是按照它们被声明的顺序,首先是父类的属性。
例如 :
class foo {
public $a = 1;
public $c = 2;
public $d = 3;
}
class foo2 extends foo {
public $b = 4;
}
$test = new foo2;
var_dump(get_object_vars($test));
Run Code Online (Sandbox Code Playgroud)
这给出了:
array(4) { ["b"]=> int(4) ["a"]=> int(1) ["c"]=> int(2) ["d"]=> int(3) }
Run Code Online (Sandbox Code Playgroud)
但我想要 :
array(4) { ["a"]=> int(1) ["c"]=> int(2) ["d"]=> int(3) ["b"]=> int(4) }
Run Code Online (Sandbox Code Playgroud)
有什么办法可以实现吗?
更新: 我需要这个的原因是因为我正在转换一个使用 STEP (EXPRESS ISO 10303-21) 格式的文件(并返回!)。(有关更多信息,请参阅此: http : //en.wikipedia.org/wiki/ISO_10303-21)这种格式是某种序列化对象结构。我在 PHP 中重新创建了所有对象类,但由于在 STEP 中属性的顺序至关重要,因此我需要完全相同的属性顺序。
我想创建使用自定义数值方法生成的几何图形的 STEP 文件。给定一个坐标列表,我希望能够将它们写入具有有效 STEP 格式的文件中。为此,我一直在寻找STEP文件格式的介绍。
我可以使用各种 CAD 应用程序轻松创建 STEP 文件,并且我一直在仔细检查这些文件以了解它们的结构。其中很多内容是有道理的,但也有很多内容仍然不透明。例如,考虑以下描述样条线的项目。
#38=B_SPLINE_CURVE_WITH_KNOTS('',5,(#43,#44,#45,#46,#47,#48),.UNSPECIFIED.,.F.,.F.,(6,6),(0.,1.),.UNSPECIFIED.);
Run Code Online (Sandbox Code Playgroud)
我无法在任何地方找到该元素的九个参数的描述。我向 ISO 支付了一大笔钱,购买了一个名为 SMRL_v6_rc1 的东西,作为回报,我得到了一个庞大的数据库,其中包含以下条目:
ENTITY b_spline_curve_with_knots
SUBTYPE OF (b_spline_curve);
knot_multiplicities : LIST[2:?] OF INTEGER;
knots : LIST[2:?] OF parameter_value;
knot_spec : knot_type;
DERIVE
upper_index_on_knots : INTEGER := SIZEOF(knots);
WHERE
WR1: constraints_param_b_spline(degree, upper_index_on_knots, upper_index_on_control_points, knot_multiplicities, knots);
WR2: SIZEOF(knot_multiplicities) = upper_index_on_knots;
END_ENTITY;
Run Code Online (Sandbox Code Playgroud)
尽管标题与 STEP 文件中的行相同,但我没有看到九个参数的列表。我怀疑我处理这整件事的方式是错误的,因此任何评论或建议将非常感激。
(理想情况下,我正在寻找一份写得很好的 STEP 文件格式指南,类似于Adobe 发布的PDF 参考。)
我的目标是编写一个 Python 程序来提取文件中对象的体积STEP。我发现steputils和aoxchange是 Python 中存在的两个库,但它们似乎都没有包含足够的有关从文件中提取卷/属性的文档。有没有可用的文件可以解释这一点?我尝试了类似的文件用例STL,并能够使用numpy-stl成功实现它。我正在寻找像 numpy-stl 这样的STEP文件。下面是我如何实现文件的示例代码STL。
import numpy
from stl import mesh
your_mesh = mesh.Mesh.from_file('/path/to/myfile.stl')
volume, cog, inertia = your_mesh.get_mass_properties()
print("Volume = {0}".format(volume))
Run Code Online (Sandbox Code Playgroud) 我正在寻找 .stp/.step 文件的某种规范、文档、解释等。更多的是关于每行包含哪些信息,而不是一般信息。
我自己似乎无法弄清楚每个值的含义。有人知道一些有关 STEP 文件的好读物吗?
我已经搜索过谷歌,但我得到的只是有关一般结构的信息,而不是每个特定值的信息。
我有以下春季批量工作:
<job id="MyBatchJob" job-repository="jobRepository">
<step id="ConfigurationReadStep">
<tasklet ref="ConfigurationReadTasklet" transaction-manager="jobRepository-transactionManager"/>
<next on="COMPLETED" to="NextStep" />
</step>
<step id="NextStep">
<tasklet transaction-manager="jobRepository-transactionManager">
<chunk reader="myItemReader" writer="myItemWriter" commit-interval="1000"/>
</tasklet>
</step>
<listeners>
<listener ref="jobListener" />
</listeners>
</job>
Run Code Online (Sandbox Code Playgroud)
它的第一步是配置读取步骤,在一些业务逻辑之后,我遇到了一个查询列表。例如 10 个查询。我知道我可以使用JobExecutionContext和来推广此列表PromotionListener。
但是,我想将此查询作为读取器查询一一提供给下一步的读取器,并循环运行该步骤,直到消耗完所有读取器查询。我想将每个查询作为春季批处理场景运行,因为它们可能会返回大量项目。
我怎样才能做到这一点 ?
*********************************** 更新 ************** ******************
这就是我正在尝试做的事情:
<job id="MyJob" job-repository="jobRepository">
<step id="ConfigurationReadStep">
<tasklet ref="ConfigurationReadTasklet" transaction-manager="jobRepository-transactionManager"/>
<next on="COMPLETED" to="MyNextStep" />
<listeners>
<listener ref="promotionListener"/>
</listeners>
</step>
<step id="MyNextStep" next="limitDecision">
<tasklet transaction-manager="jobRepository-transactionManager">
<chunk reader="MyItemReader" writer="MyItemWriter" commit-interval="1000"/>
</tasklet>
</step>
<decision id="limitDecision" decider="limitDecider">
<next on="CONTINUE" to="MyNextStep" /> …Run Code Online (Sandbox Code Playgroud) 我测试过两种情况:
我使用 STEPCAFControl_Reader 然后 STEPControl_Reader 来读取我的步骤文件,但是当我分别调用 STEPCAFControl_Reader::Transfer 和 STEPControl_Reader:: TransferRoots 时,这两种方法都会崩溃。
通过使用 STEPControl_Reader,我在控制台上显示了一条日志,然后出现如下消息:
1 F:(BOUNDED_SURFACE、B_SPLINE_SURFACE、B_SPLINE_SURFACE_WITH_KNOTS、GEOMETRIC_REPRESENTATION_ITEM、RATIONAL_B_SPLINE_SURFACE、REPRESENTATION_ITEM、SURFACE):representation_item 的参数计数不为 1
编辑:
TransferRoots() 方法内有一个空引用。
const Handle(Transfer_TransientProcess) &proc = thesession->TransferReader()->TransientProcess();
if (proc->GetProgress().IsNull())
{
//This condition does not exist from the source code
std::cout << "GetProgress is null" << std::endl;
return 0;
}
Message_ProgressSentry PS ( proc->GetProgress(), "Root", 0, nb, 1 );
Run Code Online (Sandbox Code Playgroud)
我的应用程序和 FreeCAD 崩溃,但如果我使用 CAD Assitant(OCC 官方查看器),它会加载。
我想使用 Python 将 STEP 文件转换为 STL 文件格式。我在网上看过,看起来最好的选择是使用 FreeCAD 或 OpenCascade (OCC)。但是,我是初学者,不知道从哪里开始。我在网上做了一些搜索,发现了这一点(将 STEP 转换为 OBJ 文件的代码)。
是否有来自 FreeCAD(基于 OCC)的 Python 示例将 STEP 文件转换为 STL?我应该从哪里开始?
I've been trying to collect arrays with digits into one array. If I try to use + it returns emty array as output. Using concat returns expected array of digits. How does it work and what the main difference between these Ruby methods?
0.step.with_object([]) do |index, output|
output + [index]
break output if index == 100
do # returns empty array
0.step.with_object([]) do |index, output|
output.concat [index]
break output if index == 100
end # returns an array contains digits …Run Code Online (Sandbox Code Playgroud) step ×10
arrays ×2
freecad ×2
.net ×1
c# ×1
cad ×1
class ×1
concat ×1
java ×1
oop ×1
opencascade ×1
php ×1
python ×1
python-3.x ×1
ruby ×1
spring ×1
spring-batch ×1
stl-format ×1
stp ×1
three.js ×1