Разбор STEP-файла (с использованием JavaScript)

Я пытаюсь прочитать информацию из STEP-файла ( ISO 10303-21) с помощью JavaScript. Я не уверен, как справиться с этим вообще.

Я нашел альтернативы с открытым исходным кодом, но на всех языках, кроме Javascript... Так что я не могу многому научиться у них.

Поскольку текст довольно нерегулярный, очень сложно просто использовать регулярное выражение для извлечения информации.

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(
/* description */ ('A minimal AP214 example with a single part'),
/* implementation_level */ '2;1');
FILE_NAME(
/* name */ 'demo',
/* time_stamp */ '2003-12-27T11:57:53',
/* author */ ('Lothar Klein'),
/* organization */ ('LKSoft'),
/* preprocessor_version */ ' ',
/* originating_system */ 'IDA-STEP',
/* authorization */ ' ');
FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 2 1 1}'));
ENDSEC;
DATA;
#10=ORGANIZATION('O0001','LKSoft','company');
#11=PRODUCT_DEFINITION_CONTEXT('part definition',#12,'manufacturing');
#12=APPLICATION_CONTEXT('mechanical design');
#13=APPLICATION_PROTOCOL_DEFINITION('','automotive_design',2003,#12);
#14=PRODUCT_DEFINITION('0',$,#15,#11);
#15=PRODUCT_DEFINITION_FORMATION('1',$,#16);
#16=PRODUCT('A0001','Test Part 1','',(#18));
#17=PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#16));
#18=PRODUCT_CONTEXT('',#12,'');
#19=APPLIED_ORGANIZATION_ASSIGNMENT(#10,#20,(#16));
#20=ORGANIZATION_ROLE('id owner');
#21=IFCPROPERTYSINGLEVALUE('Visa 2D F\S\dstpunkter i 3D',$,IFCBOOLEAN(.F.),$);
ENDSEC;
END-ISO-10303-21;

И разные инструменты экспорта экспортируются с разными вариациями:

#95=STYLED_ITEM('',(#94),#92);
#12 = CARTESIAN_POINT ( 'NONE',  ( 1.213, 5.617, -7.500 ) ) ;
#263 = TEST ( 'Spaces must not be ignored here' ) ;

источник например

Как лучше всего читать файлы шагов? Парсерные генераторы, Regex или что-то еще?

2 ответа

Во-первых, вы можете захотеть взглянуть на этот разговор.

Существуют разные грамматики для STEP-файла (часть 21) и разные способы, которые могут помочь достичь того, что вы хотите сделать. Я не проверял ни один из этих методов.

Точную информацию об объектах можно найти в следующем руководстве по использованию для схемы PDM (подмножество из другой точки доступа, соответствующее структуре продукта). Это объясняет информацию, содержащуюся в элементах и ​​взаимосвязи между ними.

Другие вопросы по тегам