Hi there,
Thanks for maintaining this great project! 🙌
I’m working on a .NET-based tool using IxMilia.Step to load STEP files, modify them, and save them back. One feature I’m trying to implement is an exploded view, where each part (solid/body) of the STEP model is translated along a defined axis (e.g., Z+) to make assemblies more readable.
What I’ve done so far
I can successfully load and parse a .stp file using StepFile.Load(...).
I can enumerate StepRepresentationItems from model.Items.
I’ve written code that attempts to apply an offset to each part:
string inputPath = "CB880.014000 1M Unterschnittmesser RE.stp";
string outputPath = Path.Combine(
Path.GetDirectoryName(inputPath)!,
Path.GetFileNameWithoutExtension(inputPath) + "_exploid.stp"
);
var model = StepFile.Load(inputPath);
// Attempt to offset parts
int i = 0;
foreach (StepRepresentationItem item in model.Items)
{
StepLine line = (StepLine)item; // Only works for StepLine as placeholder
double offset = i++ * 50.0;
// My idea was to assign a StepAxis2Placement3D to move parts
var transform = new StepAxis2Placement3D(
"",
new StepCartesianPoint("", 0.0, 0.0, offset),
new StepDirection("", 0.0, 0.0, 1.0),
new StepDirection("", 1.0, 0.0, 0.0)
);
// But at this point I don’t know how to assign the new transform to the part.
// There's no MappingTarget property, and no MappedItem abstraction available.
// So nothing happens to the geometry.
}
model.Save(outputPath);
What’s missing or unclear
- I cannot find an equivalent to MappedItem or similar transformable entity in the IxMilia.Step model.
- There is no way (that I can see) to assign a StepAxis2Placement3D to a geometric item after it’s been loaded.
- I don’t know how to access or modify the placement of existing parts – if they are defined through ShapeRepresentations or ProductDefinitions, it’s unclear how to reach or transform them.
How would you go about implementing an exploded view using IxMilia.Step?
Specifically:
- How can I identify and isolate individual solids/components?
- Is there any way to apply a geometric transformation (e.g. translation)?
- Are there plans to expose transformation-related structures like MappedItem, or is there a workaround?
Thanks again for your great work – any guidance or thoughts would be highly appreciated!
Best regards,
Michael
Hi there,
Thanks for maintaining this great project! 🙌
I’m working on a .NET-based tool using IxMilia.Step to load STEP files, modify them, and save them back. One feature I’m trying to implement is an exploded view, where each part (solid/body) of the STEP model is translated along a defined axis (e.g., Z+) to make assemblies more readable.
What I’ve done so far
I can successfully load and parse a .stp file using StepFile.Load(...).
I can enumerate StepRepresentationItems from model.Items.
I’ve written code that attempts to apply an offset to each part:
What’s missing or unclear
How would you go about implementing an exploded view using IxMilia.Step?
Specifically:
Thanks again for your great work – any guidance or thoughts would be highly appreciated!
Best regards,
Michael