Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

STEP Multipart Import with colours and names

See original GitHub issue

Multi-part STEP import introduced in #71 However, names & colours are lost in the process.

Target Outcome: Issue aimed to be closed when the following statements are true & tested.

Imported objects keep their:

  • object name
  • object material properties (just colour, or more?)

Only import sub-parts:

  • Importer can start at a child and ignore siblings (controlled import hierarchy)
  • If a hierarchy is selected to be imported as a Part, all geometry is merged [#146]


  • Measurable (obviously it’s preferable to be faster, but this may not be possible)
  • Faster to only import a nested hierarchy.

Issue Analytics

  • State:open
  • Created 5 years ago
  • Reactions:1
  • Comments:10 (6 by maintainers)

github_iconTop GitHub Comments

Rayfoundrycommented, Jun 28, 2018

This would be a great addition.

fragmuffincommented, Jan 2, 2019

There may be another problem with the “smart solution”

  1. Skim-read the .step and remember:
    • data: “sections” of importable geometry (save as start/end seek points in the .step file)

The .step format is a sort of link-list of indexed vertices, edges, splines, faces (and so on). Usually the indexed geometry for a single part is confined to a seekable range within the .step file, but this is a common byproduct of creating the file. From what I understand, a .step file’s content separated into lines, could (almost) be randomised and re-written, and still import the same shapes.

Alternative that may still be possible A Skim-read could cache:

  • an index list: [(<step index>, <file seek>, {<referenced indexes>, ...}), ... ]
  • map parts to a dict: {<part uid>: <step-index>, ...}

Then to import a single part, the .step file could be fragmented; separated by tracing all referenced lines relating to that part, then “import” the fragmented .step file as a single Part.

Tasks / Questions to answer

  • Feasibility study:
    • is this plausible? can the .step be fragmented like this?
    • different .step version support - this will require a partial “parsing” of the .step file, how susceptible to change is the .step format?, has it’s indexing & core metadata structure always been the same?
  • Performance test(s)
    • is this “smart” way going to be just as slow as a standard “import everything” approach?
Read more comments on GitHub >

github_iconTop Results From Across the Web

c++ - How to import STEP files with OpenCascade and display ...
i am trying to import STEP files with OpenCascade and display them on Screen with the Open Inventor compatible coin3d library.
Read more >
Solved: default color and material in imported .step files from ...
Go to Solution. The STEP files don't have a material or color defined, you can look into it using a simple ascii-editor. So...
Read more >
How To Build an Advanced Multipart Component with Chakra UI
By the end of this tutorial, you'll be able to create a multipart component in Chakra UI that is controllable by variant, size,...
Read more >
Working with color ramps—ArcMap | Documentation
Multipart —Combines other color ramp elements in a continuous band. An example is a color ramp designed to convey an entity with a...
Read more >
Multer: Easily upload files with Node.js and Express
Multer comes in handy when forms contain multipart data that includes text inputs and ... const form = new FormData() form.append('name', ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Post

No results found

github_iconTop Related Hashnode Post

No results found