Drawing Workbench/cs: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
 
(44 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
Modul Výkres umožňuje dostat Vaši 3D práci na papír. To znamená dát pohledy na Vaše modely do 2D okna a vložit toto okno do výkresu, např. list s okraji, hlavička a logo a nakonec tento list vytisknout. Modul Výkres je momentálně ve výstavbě a víceméně ve fázi náhledu!


{{Docnav
== GUI Nástroje ==
|
|
|IconL=
|IconR=
}}


{{VeryImportantMessage|The '''Drawing Workbench''' is no longer included after version 0.20.<br>
{{Drawing Tools}}
The [[TechDraw_Workbench|TechDraw Workbench]] is its more advanced replacement.}}


[[Image:Workbench_Drawing.svg|thumb|128px|Drawing workbench icon]]


== Introduction ==
'''Poznámka'''
[[Draft Module|Kreslicí modul]] má také svůj vlastní [[Draft_Drawing|Výkres]] pro umístění Kreslených objektů na papír. Má pár zvláštních možností nad standardními nástroji Výkresu a podporuje specifické objekty jako je [[Draft Dimension|Kótování]].


Modul Výkres umožňuje dostat Vaši 3D práci na papír. To znamená dát pohledy na Vaše modely do 2D okna a vložit toto okno do výkresu, např. list s okraji, hlavička a logo a nakonec tento list vytisknout.


{{TOCright}}
[[Image:Drawing_extraction.png|800px]]
[[Image:Drawing_extraction.png|600px]]


<span id="Tools"></span>
Na obrázku vidíte koncept modulu Výkresu. Dokument obsahuje konstrukční objekt, který chceme vyjmout do výkresu. Proto je vytvořena "Stránka (Page)". Stránka je realizována pomocí šablony, v tomto případě přes šablonu "A3_Landscape". Šablona je SVG dokument, který může obsahovat Váš běžný rámeček stránky, Vaše logo nebo dodržuje Vaše prezentační standardy.
== GUI Nástroje ==


These are tools for creating, configuring and exporting 2D drawing sheets
Do stránky můžeme vložit jeden nebo více pohledů. Každý pohled má svoji pozici na stránce (Vlastnosti X,Y), měřítko (Vlastnost měřítko) a další vlastnosti. Pokaždé když se stránka, pohled nebo odkazovaný objekt změní, stránka změny zachytí a zobrazení se aktualizuje.


* [[Image:Drawing_New.png|32px]] [[Drawing_Open_SVG/cs|Open scalable vector graphic]]: Opens a drawing sheet previously saved as an SVG file
==Skriptování==


* [[Image:Drawing_Landscape_A3.png|32px]] [[Drawing_Landscape_A3/cs|New A3 landscape drawing]]: Creates a new drawing sheet from FreeCAD's default A3 template
V současnosti je uživatelské rozhraní (GUI) velmi omezené, proto je skriptovací API mnohem zajímavější. Následují příklady ukazují jak použít skriptovací API modulu Výkresu.


* [[Image:Drawing_View.png|32px]] [[Drawing_View/cs|Insert a view]]: Inserts a view of the selected object in the active drawing sheet
Tento skript může snadno vyplnit [[Macro_CartoucheFC]] stránku FreeCAD A3_Landscape.


* [[Image:Drawing_Annotation.png|32px]] [[Drawing_Annotation/cs|Annotation]]: Adds an annotation to the current drawing sheet
=== Jednoduchý příklad ===


* [[Image:Drawing_Clip.png|32px]] [[Drawing_Clip/cs|Clip]]: Adds a clip group to the current drawing sheet
Nejdřív potřebujete moduly Část a Výkres:
<syntaxhighlight>
import FreeCAD, Part, Drawing
</syntaxhighlight>
Vytvoří nějakou malou část
<syntaxhighlight>
Part.show(Part.makeBox(100,100,100).cut(Part.makeCylinder(80,100)).cut(Part.makeBox(90,40,100)).cut(Part.makeBox(20,85,100)))
</syntaxhighlight>
Přímá projekce. G0 znamená hard edge, the G1 is tangent continuous.
<syntaxhighlight>
Shape = App.ActiveDocument.Shape.Shape
[visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape)
print "visible edges:", len(visibleG0.Edges)
print "hidden edges:", len(hiddenG0.Edges)
</syntaxhighlight>
Vše je promítnuto v rovině Z:
<syntaxhighlight>
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
</syntaxhighlight>
Odlišný projekční vektor
<syntaxhighlight>
[visibleG0,visibleG1,hiddenG0,hiddenG1] = Drawing.project(Shape,App.Vector(1,1,1))
</syntaxhighlight>
Projekce do SVG
<syntaxhighlight>
resultSVG = Drawing.projectToSVG(Shape,App.Vector(1,1,1))
print resultSVG
</syntaxhighlight>
=== Parametrický způsob ===


* [[Image:Drawing_Openbrowser.png|32px]] [[Drawing_Openbrowser/cs|Open Browser]]: Opens a preview of the current sheet in the browser
Vytvoří tělo
<syntaxhighlight>
import FreeCAD
import Part
import Drawing


* [[Image:Drawing_Orthoviews.png|32px]] [[Drawing_Orthoviews/cs|Ortho Views]]: Automatically creates orthographic views of an object on the current drawing sheet
# Create three boxes and a cylinder
App.ActiveDocument.addObject("Part::Box","Box")
App.ActiveDocument.Box.Length=100.00
App.ActiveDocument.Box.Width=100.00
App.ActiveDocument.Box.Height=100.00


* [[Image:Drawing_Symbol.png|32px]] [[Drawing_Symbol/cs|Symbol]]: Adds the contents of a SVG file as a symbol on the current drawing sheet
App.ActiveDocument.addObject("Part::Box","Box1")
App.ActiveDocument.Box1.Length=90.00
App.ActiveDocument.Box1.Width=40.00
App.ActiveDocument.Box1.Height=100.00


* [[Image:Drawing_DraftView.png|32px]] [[Draft_Drawing|Draft View]]: Inserts a special Draft view of the selected object in the current drawing sheet
App.ActiveDocument.addObject("Part::Box","Box2")
App.ActiveDocument.Box2.Length=20.00
App.ActiveDocument.Box2.Width=85.00
App.ActiveDocument.Box2.Height=100.00


* [[Image:Drawing_SpreadsheetView.png|32px]] [[Drawing_SpreadsheetView|Spreadsheet View]]: Inserts a view of a selected spreadsheet in the current drawing sheet
App.ActiveDocument.addObject("Part::Cylinder","Cylinder")
App.ActiveDocument.Cylinder.Radius=80.00
App.ActiveDocument.Cylinder.Height=100.00
App.ActiveDocument.Cylinder.Angle=360.00
# Fuse two boxes and the cylinder
App.ActiveDocument.addObject("Part::Fuse","Fusion")
App.ActiveDocument.Fusion.Base = App.ActiveDocument.Cylinder
App.ActiveDocument.Fusion.Tool = App.ActiveDocument.Box1


* [[Image:Drawing_Save.png|32px]] [[Drawing_Save/cs|Save sheet]]: Saves the current sheet as a SVG file
App.ActiveDocument.addObject("Part::Fuse","Fusion1")
App.ActiveDocument.Fusion1.Base = App.ActiveDocument.Box2
App.ActiveDocument.Fusion1.Tool = App.ActiveDocument.Fusion
# Cut the fused shapes from the first box
App.ActiveDocument.addObject("Part::Cut","Shape")
App.ActiveDocument.Shape.Base = App.ActiveDocument.Box
App.ActiveDocument.Shape.Tool = App.ActiveDocument.Fusion1
# Hide all the intermediate shapes
Gui.ActiveDocument.Box.Visibility=False
Gui.ActiveDocument.Box1.Visibility=False
Gui.ActiveDocument.Box2.Visibility=False
Gui.ActiveDocument.Cylinder.Visibility=False
Gui.ActiveDocument.Fusion.Visibility=False
Gui.ActiveDocument.Fusion1.Visibility=False
</syntaxhighlight>
Vloží objekt Stránka a přiřadí šablonu
<syntaxhighlight>
App.ActiveDocument.addObject('Drawing::FeaturePage','Page')
App.ActiveDocument.Page.Template = App.getResourceDir()+'Mod/Drawing/Templates/A3_Landscape.svg'
</syntaxhighlight>
Vytvoří pohled na objekt "Tvar", definuje pozici a měřítko a vloží to na Stránku
<syntaxhighlight>
App.ActiveDocument.addObject('Drawing::FeatureViewPart','View')
App.ActiveDocument.View.Source = App.ActiveDocument.Shape
App.ActiveDocument.View.Direction = (0.0,0.0,1.0)
App.ActiveDocument.View.X = 10.0
App.ActiveDocument.View.Y = 10.0
App.ActiveDocument.Page.addObject(App.ActiveDocument.View)
</syntaxhighlight>
Vytvoří druhý pohled na stejný objekt, ale tentokrát bude pohled otočen o 90 stupňů
<syntaxhighlight>
App.ActiveDocument.addObject('Drawing::FeatureViewPart','ViewRot')
App.ActiveDocument.ViewRot.Source = App.ActiveDocument.Shape
App.ActiveDocument.ViewRot.Direction = (0.0,0.0,1.0)
App.ActiveDocument.ViewRot.X = 290.0
App.ActiveDocument.ViewRot.Y = 30.0
App.ActiveDocument.ViewRot.Scale = 1.0
App.ActiveDocument.ViewRot.Rotation = 90.0
App.ActiveDocument.Page.addObject(App.ActiveDocument.ViewRot)
</syntaxhighlight>
Vytvoří třetí pohled na stejný objekt, ale s izometrickým pohledem. Jsou aktivovány i skryté čáry.
<syntaxhighlight>
App.ActiveDocument.addObject('Drawing::FeatureViewPart','ViewIso')
App.ActiveDocument.ViewIso.Source = App.ActiveDocument.Shape
App.ActiveDocument.ViewIso.Direction = (1.0,1.0,1.0)
App.ActiveDocument.ViewIso.X = 335.0
App.ActiveDocument.ViewIso.Y = 140.0
App.ActiveDocument.ViewIso.ShowHiddenLines = True
App.ActiveDocument.Page.addObject(App.ActiveDocument.ViewIso)
</syntaxhighlight>
Něco změní a aktualizuje. Proces aktualizace změní pohled a stránku.
<syntaxhighlight>
App.ActiveDocument.View.X = 30.0
App.ActiveDocument.View.Y = 30.0
App.ActiveDocument.View.Scale = 1.5
App.ActiveDocument.recompute()
</syntaxhighlight>
=== Accessing the bits and pieces ===


* [[Drawing_ProjectShape|Project Shape]]: Creates a projection of the selected object (Source) in the 3D view.
Získá SVG fragment jednoduchého pohledu
<syntaxhighlight>
ViewSVG = App.ActiveDocument.View.ViewResult
print ViewSVG
</syntaxhighlight>
Dostane celou výslednou stránku (je to soubor v dočasném adresáři dokumentů s přístupem pouze na čtení)
<syntaxhighlight>
print "Resulting SVG document: ",App.ActiveDocument.Page.PageResult
file = open(App.ActiveDocument.Page.PageResult,"r")
print "Result page is ",len(file.readlines())," lines long"
</syntaxhighlight>
Důležité: uvolněte ten soubor!
<syntaxhighlight>
del file
</syntaxhighlight>
Vloží pohled s Vašim vlastním obsahem:
<syntaxhighlight>
App.ActiveDocument.addObject('Drawing::FeatureView','ViewSelf')
App.ActiveDocument.ViewSelf.ViewResult = """<g id="ViewSelf"
stroke="rgb(0, 0, 0)"
stroke-width="0.35"
stroke-linecap="butt"
stroke-linejoin="miter"
transform="translate(30,30)"
fill="#00cc00"
>


'''Poznámka'''
<ellipse cx="40" cy="40" rx="30" ry="15"/>
[[Draft Workbench/cs|Kreslicí modul]] má také svůj vlastní [[Draft_Drawing/cs|Výkres]] pro umístění Kreslených objektů na papír. Má pár zvláštních možností nad standardními nástroji Výkresu a podporuje specifické objekty jako je [[Draft Dimension/cs|Kótování]].
</g>"""
App.ActiveDocument.Page.addObject(App.ActiveDocument.ViewSelf)
App.ActiveDocument.recompute()


Na obrázku vidíte koncept modulu Výkresu. Dokument obsahuje konstrukční objekt, který chceme vyjmout do výkresu. Proto je vytvořena "Stránka (Page)". Stránka je realizována pomocí šablony, v tomto případě přes šablonu "A3_Landscape". Šablona je SVG dokument, který může obsahovat Váš běžný rámeček stránky, Vaše logo nebo dodržuje Vaše prezentační standardy.
del ViewSVG
</syntaxhighlight>
Vede to k následujícímu výsledku:


Do stránky můžeme vložit jeden nebo více pohledů. Každý pohled má svoji pozici na stránce (Vlastnosti X,Y), měřítko (Vlastnost měřítko) a další vlastnosti. Pokaždé když se stránka, pohled nebo odkazovaný objekt změní, stránka změny zachytí a zobrazení se aktualizuje.
[[Image:DrawingScriptResult.jpg|800px]]


<span id="Scripting"></span>
=== Kótování a Odchylky obecně ===
==Skriptování==


V současnosti je uživatelské rozhraní (GUI) velmi omezené, proto je skriptovací API mnohem zajímavější. Následují příklady ukazují jak použít skriptovací API modulu Výkresu.
Kreslení kót a odchylek je zatím ještě ve vývoji, ale s trochou práce můžete už mít nějakou základní funkcionalitu.


See the [[Drawing API example]] page for a description of the functions used to create drawing pages and views.
Nejdříve musíte mít modul gdtsvg python odtud: (POZOR: Může kdykoliv zhavarovat!):


<span id="Templates"></span>
https://github.com/jcc242/FreeCAD
== Šablony ==


FreeCAD dostáváte zabalený se sadou základních šablon, ale další ještě můžete najít na stránce [[Drawing templates/cs|Šablony výkresů]].
Pro získání rámečku geometrických tolerancí, vyzkoušejte následující:
<syntaxhighlight>
import gdtsvg as g # Import the module, I like to give it an easy handle
ourFrame = g.ControlFrame("0","0", g.Perpendicularity(), ".5", g.Diameter(), g.ModifyingSymbols("M"), "A",
g.ModifyingSymbols("F"), "B", g.ModifyingSymbols("L"), "C", g.ModifyingSymbols("I"))
</syntaxhighlight>
Zde je dobrá analýza obsahu rámečku geometrických tolerancí: http://www.cadblog.net/adding-geometric-tolerances.htm


<span id="Extending_the_Drawing_Module"></span>
Parametry předávané do řídícího rámečku jsou:
== Rozšíření modulu Výkres==
#Souřadnice-X v SVG-souřadnicovém systému (typ text)
#Souřadnice-Y v SVG-souřadnicovém systému (typ text)
#Požadovaný charakteristický symbol (sada tří údajů, svg text jako první, šířka symbolu jako druhý, výška symbolu jako třetí)
#Tolerance (typ text)
#(volitelně) Symbol průměru (sada tří údajů, svg text jako první, šířka symbolu jako druhý, výška symbolu jako třetí)
#(volitelně) Podminka modifikující materiál (sada tří údajů, svg text jako první, šířka symbolu jako druhý, výška symbolu jako třetí)
#(volitelně) První bod (typ text)
#(volitelně) Podmínka modifikující první bod (sada tří údajů, svg text jako první, šířka symbolu jako druhý, výška symbolu jako třetí)
#(volitelně) Druhý bod (type string)
#(volitelně) Podmínka modifikující druhý bod (sada tří údajů, svg text jako první, šířka symbolu jako druhý, výška symbolu jako třetí)
#(volitelně) Třetí bod (type string)
#(volitelně) Podmínka modifikující třetí bod (sada tří údajů, svg text jako první, šířka symbolu jako druhý, výška symbolu jako třetí)


Některé poznámky k programovací stránce vykreslovacího modulu budou přidány na stránku [[Drawing Documentation/cs|Dokumentace výkresu]]. Je to příspěvek k rychlejšímu porozumění jak funguje modul výkresu, aby programátorům umožnily rychle začít s jejich programováním.
Funkce řídícího rámečku tolerance vrací typ obsahující (svg text, celkovou šířku řídícího rámečku, celkovou výšku řídícího rámečku)


== Tutorials ==
Pro získání kóty zkuste následující:
* [[Drawing_tutorial|Drawing tutorial]]
<syntaxhighlight>
* [[Drawing_Template_HowTo|Drawing Template HowTo]]
import gdtsvg
ourDimension = linearDimension(point1, point2, textpoint, dimensiontext, linestyle=getStyle("visible"),
arrowstyle=getStyle("filled"), textstyle=getStyle("text")
</syntaxhighlight>
Vstupy pro přímou kótu jsou:
#point1, sada (x,y) se souřadnicemi SVG, je to jeden z bodů, mezi kterými chcete kótu
#point2, sada (x,y) se souřadnicemi SVG, je to druhý z bodů, mezi kterými chcete kótu
#textpoint, sada (x,y) se souřadnicemi SVG, kde bude text kóty
#dimensiontext, text kóty
#linestyle, text obsahující svg styly (i.e. css), pro stylování vzhledu linky. Použití funkce getStyle vrací předvolený text
#arrowstyle, text obsahující svg styly (i.e. css), pro stylování vzhledu šipek. Použití funkce getStyle vrací předvolený text
#textstyle, text obsahující svg styly (i.e. css), pro stylování vzhledu textu kóty. Použití funkce getStyle vrací předvolený text


== Macros ==
S těmito dvěma můžete pracovat jak je uvedeno výše pro jejich zobrazení na stránce výkresu. V tomto modulu je ještě mnoho chyb a může kdykoliv zhavarovat, hlášení chyb je vítáno na stránce github nebo kontaktujte jcc242 na fóru, pokud jste chybu poslali někam jinam.


* {{MacroLink|Icon=Macro_Automatic_drawing.png|Macro_Automatic_drawing|Macro Automatic drawing}}: Allows the user to get the view of his object in a drawing with 4 different position (front,top,iso,right). Needs some modification to be perfectly effective.
== Šablony ==


* {{MacroLink|Icon=Macro_CartoucheFC.png|Macro_CartoucheFC|Macro CartoucheFC}}: This GUI macro to fill simply all fields of the cartridge of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.
FreeCAD dostáváte zabalený se sadou základních šablon, ale další ještě můžete najít na stránce [[Drawing templates|Šablony výkresů]].


* {{MacroLink|Icon=Macro_CartoucheFC_2.png|Macro_CartoucheFC_2|Macro CartoucheFC 2}}: This GUI macro to fill simply all fields of the cartridge '''model 2''' of the plan implementation worksheet FreeCAD.
== Rozšíření modulu Výkres==


* {{MacroLink|Icon=Macro_CartoucheFC_Full.png|Macro_CartoucheFC_Full|Macro CartoucheFC Full}}: This GUI macro to fill simply all fields of the cartridge [[Misc_templates_Full|Misc templates Full]] of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.
Některé poznámky k programovací stránce vykreslovacího modulu budou přidány na stránku [[Drawing Documentation|Dokumentace výkresu]]. Je to příspěvek k rychlejšímu porozumění jak funguje modul výkresu, aby programátorům umožnily rychle začít s jejich programováním.


* {{MacroLink|Icon=Macro_Corner_shapes_wizard.png|Macro_Corner_shapes_wizard/update|Macro Corner shapes wizard/update}}: Pops up a dialog asking for the dimensions of your corner piece, then creates the object in the document and creates a page view with top, front and lateral views of the piece.
{{docnav|Part Module|Raytracing Module}}


== External links ==
[[Category:User Documentation/cs]]

<languages/>
* [https://www.youtube.com/watch?v=1Hm5Zyjmjac Intro to mechanical drawing on Youtube - by Normal Universe]


<div class="mw-translate-fuzzy">
{{docnav/cs|[[Part_Workbench/cs|Modul Díl]]|[[Raytracing Workbench/cs|The Raytracing workbench]]}}
</div>

{{Drawing Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
[[Category:Obsolete Workbenches{{#translation:}}]]

Latest revision as of 08:47, 8 July 2023

The Drawing Workbench is no longer included after version 0.20.
The TechDraw Workbench is its more advanced replacement.
Drawing workbench icon

Introduction

Modul Výkres umožňuje dostat Vaši 3D práci na papír. To znamená dát pohledy na Vaše modely do 2D okna a vložit toto okno do výkresu, např. list s okraji, hlavička a logo a nakonec tento list vytisknout.

GUI Nástroje

These are tools for creating, configuring and exporting 2D drawing sheets

  • Insert a view: Inserts a view of the selected object in the active drawing sheet
  • Annotation: Adds an annotation to the current drawing sheet
  • Clip: Adds a clip group to the current drawing sheet
  • Open Browser: Opens a preview of the current sheet in the browser
  • Ortho Views: Automatically creates orthographic views of an object on the current drawing sheet
  • Symbol: Adds the contents of a SVG file as a symbol on the current drawing sheet
  • Draft View: Inserts a special Draft view of the selected object in the current drawing sheet
  • Spreadsheet View: Inserts a view of a selected spreadsheet in the current drawing sheet
  • Save sheet: Saves the current sheet as a SVG file
  • Project Shape: Creates a projection of the selected object (Source) in the 3D view.

Poznámka Kreslicí modul má také svůj vlastní Výkres pro umístění Kreslených objektů na papír. Má pár zvláštních možností nad standardními nástroji Výkresu a podporuje specifické objekty jako je Kótování.

Na obrázku vidíte koncept modulu Výkresu. Dokument obsahuje konstrukční objekt, který chceme vyjmout do výkresu. Proto je vytvořena "Stránka (Page)". Stránka je realizována pomocí šablony, v tomto případě přes šablonu "A3_Landscape". Šablona je SVG dokument, který může obsahovat Váš běžný rámeček stránky, Vaše logo nebo dodržuje Vaše prezentační standardy.

Do stránky můžeme vložit jeden nebo více pohledů. Každý pohled má svoji pozici na stránce (Vlastnosti X,Y), měřítko (Vlastnost měřítko) a další vlastnosti. Pokaždé když se stránka, pohled nebo odkazovaný objekt změní, stránka změny zachytí a zobrazení se aktualizuje.

Skriptování

V současnosti je uživatelské rozhraní (GUI) velmi omezené, proto je skriptovací API mnohem zajímavější. Následují příklady ukazují jak použít skriptovací API modulu Výkresu.

See the Drawing API example page for a description of the functions used to create drawing pages and views.

Šablony

FreeCAD dostáváte zabalený se sadou základních šablon, ale další ještě můžete najít na stránce Šablony výkresů.

Rozšíření modulu Výkres

Některé poznámky k programovací stránce vykreslovacího modulu budou přidány na stránku Dokumentace výkresu. Je to příspěvek k rychlejšímu porozumění jak funguje modul výkresu, aby programátorům umožnily rychle začít s jejich programováním.

Tutorials

Macros

  • Macro Automatic drawing: Allows the user to get the view of his object in a drawing with 4 different position (front,top,iso,right). Needs some modification to be perfectly effective.
  • Macro CartoucheFC: This GUI macro to fill simply all fields of the cartridge of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.
  • Macro CartoucheFC 2: This GUI macro to fill simply all fields of the cartridge model 2 of the plan implementation worksheet FreeCAD.
  • Macro CartoucheFC Full: This GUI macro to fill simply all fields of the cartridge Misc templates Full of the plan implementation worksheet FreeCAD, the format of the date and the symbol of the projection mode adapt to the EU region or US selected.
  • Macro Corner shapes wizard/update: Pops up a dialog asking for the dimensions of your corner piece, then creates the object in the document and creates a page view with top, front and lateral views of the piece.

External links