2016-09-19 6 views
2

Я пытаюсь прочитать информацию из STEP-файла (ISO 10303-21) с помощью javascript. Я не уверен, как справиться с этим.Parse STEP-файл (с 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') ; 

source for example

Что это лучший способ для чтения файлов шаг? Генераторы Parser, Regex или что-то еще?

ответ

0

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

+0

У меня хорошее понимание синтаксиса и как все работает вместе. Это не моя проблема, а как разбор текста. – mottosson

0

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

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