Geometry lost when export to Skp file

Hi Experts,

When export the following data to skp file, the file is empty and the geometry is lost:

SUPoint3D vertices[3] = { { 0.00970228, -0.0209955, -0.00929844 },
{ 0.0097852, -0.0209685, -0.00929844 },
{ 0.00983242 -0.0209524 -0.00916564 } };

However if I enlarge the data 100 times then export to skp file works correctly.
SUPoint3D vertices[3] = { { 0.00970228 *100, -0.0209955 * 100, -0.00929844 *100},
{ 0.0097852 *100, -0.0209685 * 100, -0.00929844 * 100},
{ 0.00983242 * 100, - 0.0209524 * 100, -0.00916564 * 100} };

Could you please take a look at this issue? (I also attached sample code to reproduce this problem)
main.zip (991 Bytes)

Thank you,
Martin

  1. Why is the 3rd line missing commas between array members ?

  2. SketchUp has an internal tolerance of 0.001". This means that the 3 vertices in your vertices array will be conincident. (When you scale up the array vertices they may no longer be subject to the tolerance so create separate vertices.)

I just tested creating the 100x triangular face via the Ruby Console in SketchUp …

pts = [
  [ 0.00970228*100, -0.0209955*100, -0.00929844*100 ],
  [ 0.0097852*100, -0.0209685*100, -0.00929844*100 ],
  [ 0.00983242*100, -0.0209524*100, -0.00916564*100 ]
]
model = Sketchup.active_model
ents = model.entities
ents.add_face(pts)

So, even at 100x, the resultant face’s smaller edge has a length near that of the thickness of 2 sheets of copy paper! (That’s ~ 0.2215mm)

image

SketchUp is an application created to design buildings. (Architectural design.)

Why would you wish to create a geometric edge the width (2 microns) of a large bacterium ?

This issue actually comes from a customer that they want export a Brep body to SKP, and they foind some faces are lost during the translation:

Is there a way that we can export such small faces to skp file? if not I can give explanation to the customer

Thank you!

This must be a small model vehicle.

The only solution would be to scale up 1000x times or more, and then import into SKP as a component definition.

And then in the model’s entities collection, you add an instance of this component with a transformation that scale’s the instance back down 1000 times.
(ie, scale * 0.001)

1 Like