PartDesign Feature/cs

Úvod

Funkce PartDesign označuje "krok" v procesu modelování, který se odehrává uvnitř PartDesign tělesa. Například pokaždé, když přidáte plnou krychli pomocí PartDesign Součtový kvádr, přidáte prvek; když přidáte zkosení na hranu pomocí PartDesign Zkosení, přidáte další prvek; když vyříznete otvor pomocí náčrtu a PartDesign Dutina, přidáte další prvek.

Úpravy prvků v tělesu PartDesign Těleso se třemi po sobě jdoucími prvky.

Existuje mnoho druhů operací, které mohou z původního tělesa odebrat nebo přidat objem. Slovo "operace" označuje jak samotný úkon, tak i výsledné těleso po provedení této operace.

Další informace o vytváření plných těles v prostředí PartDesign najdete v článku Úpravy prvků.

Použití

Téměř všechny nástroje v prostředí PartDesign slouží k přidávání prvků do PartDesign Tělesa. K těmto nástrojům lze přistupovat z menu a panelu nástrojů, pokud je vybrán nějaký objekt nebo dílčí prvek (vrchol, hrana, plocha).

Tyto funkce lze rozdělit do různých kategorií:

Dědictví

Zjednodušené schéma vztahů mezi hlavními objekty v programu. Objekty PartDesign::Feature slouží k vytváření parametrických 3D těles, a proto jsou odvozeny od základního objektu Part::Feature.

Skriptování

Viz také: Základy skriptování ve FreeCADu a skriptované objekty.

Obecné informace o přidávání objektů z konzole Pythonu najdete v článku Part Feature.

Obecné informace o přidávání těles najdete na stránce PartDesign Body. Jakmile těleso existuje, lze k němu připojit prvky pomocí metody addObject() tohoto tělesa.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject('PartDesign::Body', 'Body')
obj.Label = "Custom label"

feature = App.ActiveDocument.addObject('PartDesign::AdditiveBox', 'Box')
feature.Width = 200
feature.Length = 300
feature.Height = 500
obj.addObject(feature)
App.ActiveDocument.recompute()

feature2 = App.ActiveDocument.addObject('PartDesign::SubtractiveBox', 'Box')
feature2.Width = 50
feature2.Length = 200
feature2.Height = 400
obj.addObject(feature2)
App.ActiveDocument.recompute()