Drawing Workbench/de: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 23: Line 23:
Erstellen Sie ein kleines Beispiel-Teil
Erstellen Sie ein kleines Beispiel-Teil
Part.show(Part.makeBox(100,100,100).cut(Part.makeCylinder(80,100)).cut(Part.makeBox(90,40,100)).cut(Part.makeBox(20,85,100)))
Part.show(Part.makeBox(100,100,100).cut(Part.makeCylinder(80,100)).cut(Part.makeBox(90,40,100)).cut(Part.makeBox(20,85,100)))

<!--
Direkte Projektion. Das G0 bedeutet harte Kante, the G1 is tangent continuous.
Direkte Projektion. Das G0 bedeutet harte Kante, der G1 ist dauernde Tangente.
Shape = App.ActiveDocument.Shape.Shape
Shape = App.ActiveDocument.Shape.Shape
[visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape)
[visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape)
print "visible edges:", len(visibleG0.Edges)
print "visible edges:", len(visibleG0.Edges)
print "hidden edges:", len(hiddenG0.Edges)
print "hidden edges:", len(hiddenG0.Edges)
Alles wird auf der Z-Ebene projiziert:
Everything was projected on the Z-plane:
print "Bnd Box shape: X=",Shape.BoundBox.XLength," Y=",Shape.BoundBox.YLength," Z=",Shape.BoundBox.ZLength
print "Bnd Box shape: X=",Shape.BoundBox.XLength," Y=",Shape.BoundBox.YLength," Z=",Shape.BoundBox.ZLength
print "Bnd Box project: X=",visibleG0.BoundBox.XLength," Y=",visibleG0.BoundBox.YLength," Z=",visibleG0.BoundBox.ZLength
print "Bnd Box project: X=",visibleG0.BoundBox.XLength," Y=",visibleG0.BoundBox.YLength," Z=",visibleG0.BoundBox.ZLength
Anderer Projektions-Vektor
Different projection vector
[visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape,App.Vector(1,1,1))
[visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape,App.Vector(1,1,1))
Project to SVG
Projekt zu SVG
resultSVG = Drawing.projectToSVG(Shape,App.Vector(1,1,1))
resultSVG = Drawing.projectToSVG(Shape,App.Vector(1,1,1))
print resultSVG
print resultSVG


=== The parametric way ===
=== Der parametrische Weg ===
<!--
<!--
Create the body
Create the body

Revision as of 16:10, 13 June 2011

Das Zeichnungsmodul erlaubt Ihnen, Ihre 3D-Arbeit zu Papier zu bringen. Das bedeutet, gewählte Ansichten von Ihren Modellen in einem 2D-Fenster anzeigen und dieses Fenster in eine Zeichnung einzufügen, zum Beispiel in ein Blatt mit einer Umrandung, einen Titel und Ihrem Logo und druckt schließlich das Blatt. Das Zeichnungsmodul wird zurzeit noch bearbeitet und ist mehr oder weniger eine Technologievorschau!

GUI Werkzeuge

Template:Drawing Tools/de


In diesem Bild sehen Sie die wichtigsten Konzepte des Zeichnungs-Modul. Das Dokument enthält einen Gestalt-Gegenstand (Schenkel), den wir zu einer Zeichnung herausziehen wollen. Deshalb wird eine "Seite" erstellt. Eine Seite wird durch eine Schablone, in diesem Fall die "A3_Landscape" Schablone realisiert. Die Vorlage ist ein SVG-Dokument, das Ihre üblichen Blatt-Rahmen und Ihr Logo beinhaltet, oder Ihre Präsentations-Standards erfüllt.

In diese Seite können wir eine oder mehrere Ansichten einfügen. Jede Ansicht hat eine Position auf der Seite (Eigenschaften X, Y), einen Skalen-Faktor (Eigene Skalierung) und zusätzliche Eigenschaften. Jedes Mal, wenn sich die Seite oder die Ansicht oder das referenzierte Objekt ändert, wird die Seite regeneriert, und die Seitenanzeige aktualisiert.

Scripting

Im Moment der Endbenutzer(GUI)-Arbeitsablauf sehr beschränkt, somit ist die Scripting-API interessanter. Hier folgen Beispiele darzu, wie man die Scripting-API des Zeichnungsmoduls verwendet.

Einfaches Beispiel

Zuallererst brauchen Sie das Part- und das Zeichnungsmodul:

import FreeCAD, Part, Drawing

Erstellen Sie ein kleines Beispiel-Teil

Part.show(Part.makeBox(100,100,100).cut(Part.makeCylinder(80,100)).cut(Part.makeBox(90,40,100)).cut(Part.makeBox(20,85,100)))

Direkte Projektion. Das G0 bedeutet harte Kante, der G1 ist dauernde Tangente.

Shape = App.ActiveDocument.Shape.Shape
[visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape)
print "visible edges:", len(visibleG0.Edges)
print "hidden edges:", len(hiddenG0.Edges)

Alles wird auf der Z-Ebene projiziert:

print "Bnd Box shape: X=",Shape.BoundBox.XLength," Y=",Shape.BoundBox.YLength," Z=",Shape.BoundBox.ZLength
print "Bnd Box project: X=",visibleG0.BoundBox.XLength," Y=",visibleG0.BoundBox.YLength," Z=",visibleG0.BoundBox.ZLength

Anderer Projektions-Vektor

[visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape,App.Vector(1,1,1))

Projekt zu SVG

resultSVG = Drawing.projectToSVG(Shape,App.Vector(1,1,1))
print resultSVG

Der parametrische Weg

Part Module
Robot Module
Available translations of this page: Template:Se