2016-04-04 10 views
2

Ich versuche, ein Dreiecksnetz aus einer Datei zu importieren (z. B. .3ds, .dae). Es scheint jedoch, dass einige der Gesichter (Dreiecke) ignoriert werden. Wenn ich das Modell vor dem Import 10x skaliere, sind die Dreiecke intakt. Gibt es eine Möglichkeit, Sketchup zu erzwingen, um alle Flächen, auch kleine, zu laden?Wie importiere ich ein Dreiecksnetz mit kleinen Flächen in SketchUp?

Hier ist ein Beispiel für das Laden eines geschlossenen Netzes (keine Grenzen) in seiner regulären Skala. SketchUp einige der Dreiecke ignoriert hat, Löcher zu schaffen und baumelnde Kanten: a few missing triangles

Wenn ich schrumpfen das Modell sind die Probleme noch viel schlimmer: many problems

Aber wenn ich Skala bis das Modell genug, gehen die Probleme weg: no problems

Auch unmittelbar nach dem Import ist mein Cursor auf "move mode" eingestellt, so dass das Objekt dort platziert wird, wo sich mein Cursor zufällig befindet. Gibt es eine Möglichkeit, das Modell ohne Mausinteraktion exakt in das aktuelle Koordinatensystem zu importieren?

Antwort

0

Ja, es ist ein bekanntes Problem, dass Sketchup nicht sehr kleine Kanten/Flächen korrekt importiert. Sie können mit diesem Ruby-Skript allerdings den Import eines Upscaling Modell automatisieren:

model = Sketchup.active_model 
# Import your dwg file, true if you want the summary screen 
model.import 'C:\path\to\example.dwg', false 

# Reset the selected tool 
model.select_tool(nil) 

# Get all imported faces 
faces = model.entities.grep(Sketchup::Face) 

# Create a new ComponentDefinition 
definition = model.definitions.add "dwg" 

# Add the points of every face to the definition 
faces.each{|f| definition.entities.add_face f.vertices} 

# Remove all entities 
model.entities.clear! 

# Create a new DefinitionInstance that is scaled by 0.5 
transformation = Geom::Transformation.new(0.5) 
instance = model.entities.add_instance definition, transformation 

# Explode the component to work with the model 
instance.explode 

Dies fügt die Komponente auf den Ursprung und kümmert sich wieder das importierte Modell der Skalierung. Wenn Ihr Modell eine skp Datei wäre, könnten Sie es sogar direkt in eine ComponentDefinition laden, aber das funktioniert nicht für dwg Dateien.

+0

Scheint, dass 'model.select_tool (nil)' den Importbefehl abbricht. Ich bin auf Mac OS X mit Sketchup-Version 16.1.1451 –

+0

Scheint im Zusammenhang mit http://forums.sketchup.com/t/ruby-api-model-importtopoint/18747 –

+0

Hmm, schade, funktioniert auf meinem Windows-Rechner. Was passiert, wenn Sie diese Zeile überspringen? – Sven