Difference between revisions of "Part Module/pl"

From FreeCAD Documentation
Jump to navigation Jump to search
 
(94 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<languages/>
 
<languages/>
{{docnav/pl
+
{{Docnav/pl
 
|[[OpenSCAD Module|Środowisko pracy OpenSCAD]]
 
|[[OpenSCAD Module|Środowisko pracy OpenSCAD]]
 
|[[PartDesign Workbench|Środowisko pracy PartDesign]]
 
|[[PartDesign Workbench|Środowisko pracy PartDesign]]
|IconL=OpenSCADWorkbench.svg
+
|IconL=Workbench_OpenSCAD.svg
 
|IconR=Workbench_PartDesign.svg
 
|IconR=Workbench_PartDesign.svg
 
}}
 
}}
  
[[Image:Workbench_Part.svg|64px]]
+
[[Image:Workbench_Part.svg|thumb|128px|Ikonka FreeCAD dla Środowiska pracy Part]]
 
+
{{TOCright}}
 
==Wprowadzenie==
 
==Wprowadzenie==
Funkcje modelowania brył w FreeCAD są oparte na jądrze''(OCCT)'' [http://en.wikipedia.org/wiki/Open_Cascade_Technology Open Cascade Technology], profesjonalnym systemie CAD, który oferuje możliwość zaawansowanego tworzenia i manipulacji geometrii 3D. <br />Środowisko pracy [[Part Workbench|Part]] jest warstwą umieszczoną nad bibliotekami OCCT, która daje użytkownikowi dostęp do geometrycznych prymitywów i funkcji OCCT. Zasadniczo wszystkie funkcje rysowania 2D i 3D w każdym Środowisku roboczym ''([[Draft Workbench|Draft]], [[Sketcher Workbench|Sketcher]], [[PartDesign Workbench|PartDesign]], etc.)'', są oparte na tych funkcjach, które zostały zaprezentowane przez Part Workbench. Dlatego też Środowisko pracy Part jest uważane za kluczowy komponent umiejętności modelowania programu FreeCAD.
+
Funkcje modelowania brył w FreeCAD są oparte na jądrze ''(OCCT)'' [[OpenCASCADE|Technologia Open Cascade]], profesjonalnym systemie CAD, który oferuje możliwość zaawansowanego tworzenia i manipulacji geometrii 3D. <br />Środowisko pracy [[Image:Workbench_Part.svg|24px]] [[Part Workbench|Part]] jest warstwą umieszczoną nad bibliotekami OCCT, która daje użytkownikowi dostęp do geometrycznych prymitywów i funkcji OCCT. Zasadniczo wszystkie funkcje rysowania 2D i 3D w każdym Środowisku roboczym ''([[Image:Workbench_Draft.svg|24px]] [[Draft Workbench|Draft]], [[Image:Workbench_Sketcher.svg|24px]] [[Sketcher Workbench|Sketcher]], [[Image:Workbench_PartDesign.svg|24px]] [[PartDesign Workbench|PartDesign]], etc.)'', są oparte na tych funkcjach, które zostały zaprezentowane przez Part Workbench. Dlatego też Środowisko pracy Part jest uważane za kluczowy komponent umiejętności modelowania programu FreeCAD.
  
Obiekty stworzone przy użyciu Środowiska pracy Part są stosunkowo proste. Są przeznaczone do używania z operacjami typu logicznego ''(łączenia i cięcia)'' w celu budowania bardziej złożonych kształtów. Ten wzorzec modelowania znany jest jako[[constructive solid geometry|Stereometria konstrukcyjna]] ''(CSG)'' i była to tradycyjna metodologia stosowana we wczesnych systemach CAD. Z drugiej strony [[PartDesign Workbench|PartDesign]] zapewnia bardziej nowoczesny cykl roboczy służący konstruowaniu kształtów: wykorzystuje parametrycznie zdefiniowany szkic, który jest wytłaczany w celu utworzenia podstawowej bryły, która następnie jest modyfikowana przez przekształcenia parametryczne ''([[feature editing|edycja cech]])'', aż do uzyskania ostatecznego obiektu.
+
Obiekty stworzone przy użyciu Środowiska pracy Part są stosunkowo proste. Są przeznaczone do używania z operacjami typu logicznego ''(łączenia i cięcia)'' w celu budowania bardziej złożonych kształtów. '''Ten wzorzec modelowania znany jest jako [[constructive solid geometry|Stereometria konstrukcyjna]] ''(CSG)'' i była to tradycyjna metodologia stosowana we wczesnych systemach CAD'''. Z drugiej strony [[PartDesign Workbench|PartDesign]] zapewnia bardziej nowoczesny cykl roboczy służący konstruowaniu kształtów: wykorzystuje parametrycznie zdefiniowany szkic, który jest wytłaczany w celu utworzenia podstawowej bryły, która następnie jest modyfikowana przez przekształcenia parametryczne ''([[feature editing|edycja cech]])'', aż do uzyskania ostatecznego obiektu.
  
 
Obiekty części są bardziej złożone niż obiekty siatkowe utworzone przy użyciu Środowiska pracy [[Mesh Workbench|Mesh]], ponieważ pozwalają one na bardziej zaawansowane operacje, takie jak spójne operacje logiczne, historia modyfikacji i właściwości parametryczne.
 
Obiekty części są bardziej złożone niż obiekty siatkowe utworzone przy użyciu Środowiska pracy [[Mesh Workbench|Mesh]], ponieważ pozwalają one na bardziej zaawansowane operacje, takie jak spójne operacje logiczne, historia modyfikacji i właściwości parametryczne.
 
{{TOCright}}
 
[[Image:Part example.jpg]]
 
  
 
[[Image:Part_Workbench_relationships.svg|600px]]
 
[[Image:Part_Workbench_relationships.svg|600px]]
Line 27: Line 24:
 
Wszystkie narzędzia zostały umieszczone w menu głównym Środowiska pracy {{MenuCommand|Part}}.
 
Wszystkie narzędzia zostały umieszczone w menu głównym Środowiska pracy {{MenuCommand|Part}}.
  
===Prymitywy===
+
===Bryły pierwotne===
  
Są to narzędzia do tworzenia obiektów o charakterze pierwotnym/elementarnym.
+
Menu obejmuje narzędzia do tworzenia obiektów o charakterze pierwotnym/elementarnym.
  
* [[Image:Part_Box.png|32px]] [[Part_Box/pl|Sześcian]]: rysuje sześcian określając jego wymiarów.
+
* [[Image:Part_Box.svg|32px]] [[Part_Box/pl|Sześcian]]: rysuje sześcian określając jego wymiarów.
* [[Image:Part_Cylinder.png|32px]] [[Part_Cylinder/pl|Walec]]: rysuje walec określając jego wymiarów.
+
* [[Image:Part_Cylinder.svg|32px]] [[Part_Cylinder/pl|Walec]]: rysuje walec określając jego wymiarów.
* [[Image:Part_Sphere.png|32px]] [[Part_Sphere/pl|Kula]]: rysuje kulę określając jej wymiarów.
+
* [[Image:Part_Sphere.svg|32px]] [[Part_Sphere/pl|Kula]]: rysuje kulę określając jej wymiarów.
* [[Image:Part_Cone.png|32px]] [[Part_Cone/pl|Stożek]]: rysuje stożek określając jego wymiarów.
+
* [[Image:Part_Cone.svg|32px]] [[Part_Cone/pl|Stożek]]: rysuje stożek określając jego wymiarów.
* [[Image:Part_Torus.png|32px]] [[Part_Torus/pl|Torus]]: rysuje torus określając jego wymiarów.
+
* [[Image:Part_Torus.svg|32px]] [[Part_Torus/pl|Torus]]: rysuje torus określając jego wymiarów.
* [[Image:Part_CreatePrimitives.png|32px]] [[Part_CreatePrimitives/pl|Tworzenie brył parametrycznych]]: narzędzie do tworzenia różnych geometrycznych prymitywów parametrycznych.
+
* [[Image:Part_Primitives.svg|32px]] [[Part_Primitives/pl|Tworzenie brył parametrycznych]]: narzędzie do dodawania zdefiniowanych geometrycznych prymitywów parametrycznych.
* [[Image:Part_Shapebuilder.png|32px]] [[Part_Shapebuilder/pl|Zaawansowane narzędzie do tworzenia kształtów]]: Narzędzie do tworzenia bardziej złożonych kształtów z różnych parametrycznych prymitywów geometrycznych.
+
* [[Image:Part_Shapebuilder.svg|32px]] [[Part_Builder/pl|Zaawansowane narzędzie do tworzenia kształtów]]: Narzędzie do tworzenia bardziej złożonych kształtów z różnych parametrycznych prymitywów geometrycznych.
  
 
===Modyfikowanie obiektów===
 
===Modyfikowanie obiektów===
Line 43: Line 40:
 
Są to narzędzia do modyfikacji istniejących obiektów. Pozwalają one na wybór obiektu, który chcesz zmodyfikować.
 
Są to narzędzia do modyfikacji istniejących obiektów. Pozwalają one na wybór obiektu, który chcesz zmodyfikować.
  
* [[Image:Part_Extrude.png|32px]] [[Part_Extrude/pl|Wyciągnięcie]]: wyciąga płaskie powierzchnie obiektu.
+
* [[Image:Part_Extrude.svg|32px]] [[Part_Extrude/pl|Wyciągnięcie]]: wyciąga płaskie powierzchnie obiektu.
* [[Image:Part_Revolve.png|32px]] [[Part_Revolve/pl|wyciągnij przez obrót ...]]: tworzy bryłę obracając inny obiekt ''(nie bryłę)'' wokół osi.
+
* [[Image:Part_Revolve.svg|32px]] [[Part_Revolve/pl|wyciągnij przez obrót ...]]: tworzy bryłę obracając inny obiekt ''(nie bryłę)'' wokół osi.
* [[Image:Part_Mirror.png|32px]] [[Part_Mirror|Utwórz odbicie lustrzane ...]]: odtwarza wybrany obiekt na danej płaszczyźnie lustrzanej.
+
* [[Image:Part_Mirror.svg|32px]] [[Part_Mirror|Utwórz odbicie lustrzane ...]]: odtwarza wybrany obiekt na danej płaszczyźnie lustrzanej.
* [[Image:Part_Fillet.png|32px]] [[Part_Fillet/pl|Zaokrąglij wybrane krawędzie objektu]]: zaokrągla krawędzie obiektu.
+
* [[Image:Part_Fillet.svg|32px]] [[Part_Fillet/pl|Zaokrąglij wybrane krawędzie objektu]]: zaokrągla krawędzie obiektu.
* [[Image:Part_Chamfer.png|32px]] [[Part_Chamfer/pl|Fazuj wybrane krawędzie objektu]]: fazowanie krawędzi obiektu.
+
* [[Image:Part_Chamfer.svg|32px]] [[Part_Chamfer/pl|Fazuj wybrane krawędzie objektu]]: fazowanie krawędzi obiektu.
* [[Image:Part_RuledSurface.png|32px]] [[Part_RuledSurface|Utwórz powierzchnię prostokreślną ...]]: tworzy powierzchnie bazujacą np. na łuku.
+
* [[Image:Part_RuledSurface.svg|32px]] [[Part_RuledSurface|Utwórz powierzchnię prostokreślną ...]]: tworzy powierzchnie bazujacą np. na łuku.
 
* [[Image:Part_Loft.png|32px]] [[Part_Loft/pl|Narzędzie wyciagania]]: przeciąga jeden profil do drugiego.
 
* [[Image:Part_Loft.png|32px]] [[Part_Loft/pl|Narzędzie wyciagania]]: przeciąga jeden profil do drugiego.
* [[Image:Part_Sweep.png|32px]] [[Part_Sweep/pl|Narzędzie do rozciągania]]: rozciąga jeden lub więcej profili wzdłuż ścieżki.
+
* [[Image:Part_Sweep.svg|32px]] [[Part_Sweep/pl|Narzędzie do rozciągania]]: rozciąga jeden lub więcej profili wzdłuż ścieżki.
  
 
* [[Image:Part_CompOffsetTools.png|48px]] [[Part_CompOffsetTools|Narzędzie do odsunięcia ...]]:
 
* [[Image:Part_CompOffsetTools.png|48px]] [[Part_CompOffsetTools|Narzędzie do odsunięcia ...]]:
** [[Image:Part_Offset.png|32px]] [[Part_Offset|3D Offset]]: konstruuje kształt równoległy w pewnej odległości od oryginału.
+
** [[Image:Part_Offset.svg|32px]] [[Part_Offset|3D Offset]]: konstruuje kształt równoległy w pewnej odległości od oryginału.
** [[Image:Part_Offset2D.png|32px]] [[Part_Offset2D|2D Offset]]: konstruuje rzut równoległy w pewnej odległości od oryginału lub powiększa / zmniejsza powierzchnię płaską.
+
** [[Image:Part_Offset2D.svg|32px]] [[Part_Offset2D|2D Offset]]: konstruuje rzut równoległy w pewnej odległości od oryginału lub powiększa / zmniejsza powierzchnię płaską.
  
* [[Image:Part_Thickness.png|32px]] [[Part_Thickness|Narzędzie do ustawiania grubości]]: wydrąża bryłę, nadaje powierzchni określoną grubość.
+
* [[Image:Part_Thickness.svg|32px]] [[Part_Thickness|Narzędzie do ustawiania grubości]]: wydrąża bryłę, nadaje powierzchni określoną grubość.
  
 
* [[Image:Part_ProjectionOnSurface.png|32px]] [[Part_ProjectionOnSurface|Projekcja na powierzchni]]: Wysunięcie logo, tekstu lub dowolnej ścianki, obszaru zamkniętego, krawędzi na powierzchni. Za pomocą występu/wysunięcia można stworzyć bryłę lub obszar zamknięty.
 
* [[Image:Part_ProjectionOnSurface.png|32px]] [[Part_ProjectionOnSurface|Projekcja na powierzchni]]: Wysunięcie logo, tekstu lub dowolnej ścianki, obszaru zamkniętego, krawędzi na powierzchni. Za pomocą występu/wysunięcia można stworzyć bryłę lub obszar zamknięty.
  
* [[Image:Part_CompCompoundTools.png|48px]] [[Part_CompCompoundTools|Narzędzie złożone]]: działa z listą kształtów.
+
* [[Image:Part_Compound.svg|48px]] [[Part_CompCompoundTools|Narzędzie złożone]]: działa z listą kształtów.
** [[Image:Part MakeCompound.png|32px]] [[Part MakeCompound|Utwórz kombinację]]: tworzy element złożony z wybranych obiektów.
+
** [[Image:Part_Compound.svg|32px]] [[Part_Compound/pl|Utwórz kombinację]]: tworzy element złożony z wybranych obiektów.
** [[Image:Part_ExplodeCompound.svg|32px]] [[Part_ExplodeCompound|Rozłóż kombinację]]: dzieli element złozony na poszczególne kształty.
+
** [[Image:Part_ExplodeCompound.svg|32px]] [[Part_ExplodeCompound|Rozłóż kombinację]]: dzieli element złożony na poszczególne kształty.
** [[Image:Part Compound‏‎Filter.png|32px]] [[Part Compound‏‎Filter|Filtr kombinacji]]: filtr kombinacji może być używany do oddzielania poszczególnych elementów.
+
** [[Image:Part Compound‏‎Filter.svg|32px]] [[Part Compound‏‎Filter|Filtr kombinacji]]: filtr kombinacji może być używany do oddzielania poszczególnych elementów.
  
* [[Image:Part_Booleans.png|32px]] [[Part_Booleans/pl|Operacje logiczne]]: wykonuje operacje z użyciem funkcji logicznych na obiektach.
+
* [[Image:Part_Booleans.svg|32px]] [[Part_Boolean/pl|Operacje logiczne]]: wykonuje operacje z użyciem funkcji logicznych na obiektach.
* [[Image:Part_Union.png|32px]] [[Part_Union/pl|Łączenie]]: zespaja ''(dodaje)'' dwa obieky.
+
* [[Image:Part_Fuse.svg|32px]] [[Part_Union/pl|Łączenie]]: zespaja ''(dodaje)'' dwa obieky.
* [[Image:Part_Common.png|32px]] [[Part_Common/pl|Część wspólna]]: wyodrębnia wspólną ''(krzyżującą się)'' część dwóch obiektów.
+
* [[Image:Part_Common.svg|32px]] [[Part_Common/pl|Część wspólna]]: wyodrębnia wspólną ''(krzyżującą się)'' część dwóch obiektów.
* [[Image:Part_Cut.png|32px]] [[Part_Cut/pl|Wycięcie]]: Wycina ''(odejmuje)'' jeden obiekt z drugiego.
+
* [[Image:Part_Cut.svg|32px]] [[Part_Cut/pl|Wycięcie]]: Wycina ''(odejmuje)'' jeden obiekt z drugiego.
  
 
* [[Image:Part_CompJoinFeatures.png|48px]] [[Part CompJoinFeatures|Łączenie elementów]]: inteligentne funkcje logiczne dla obiektów posiadających ścianki ''(np. rury)''. {{Version|0.16}}
 
* [[Image:Part_CompJoinFeatures.png|48px]] [[Part CompJoinFeatures|Łączenie elementów]]: inteligentne funkcje logiczne dla obiektów posiadających ścianki ''(np. rury)''. {{Version|0.16}}
** [[Image:Part JoinConnect.png|32px]] [[Part_JoinConnect|Połącz]]: łączy elementy ''(do wewnętrznych płaszczyzn)''. {{Version|0.16}}
+
** [[Image:Part_JoinConnect.svg|32px]] [[Part_JoinConnect|Połącz]]: łączy elementy ''(do wewnętrznych płaszczyzn)''. {{Version|0.16}}
** [[Image:Part JoinEmbed.png|32px]] [[Part_JoinEmbed|Wstaw]]: osadza obiekt posiadający ścianki w innym obiekcie ze ściankami. {{Version|0.16}}
+
** [[Image:Part_JoinEmbed.svg|32px]] [[Part_JoinEmbed|Wstaw]]: osadza obiekt posiadający ścianki w innym obiekcie ze ściankami. {{Version|0.16}}
** [[Image:Part JoinCutout.png|32px]] [[Part_JoinCutout|Wytnij]]: tworzy wycięcie w ścianie obiektu dla innego obiektu ze ściankami. {{Version|0.16}}
+
** [[Image:Part_JoinCutout.svg|32px]] [[Part_JoinCutout|Wytnij]]: tworzy wycięcie w ścianie obiektu dla innego obiektu ze ściankami. {{Version/pl|0.16}}
  
 
* [[Image:Part_CompSplittingTools.png|48px]] [[Part CompSplittingTools|Narzędzia do rozdzielania]]: {{Version/pl|0.17}}
 
* [[Image:Part_CompSplittingTools.png|48px]] [[Part CompSplittingTools|Narzędzia do rozdzielania]]: {{Version/pl|0.17}}
** [[Image:Part BooleanFragments.png|32px]] [[Part_BooleanFragments|Fragmenty funkcji fogicznych]]: tworzy wszystkie elementy, które można uzyskać poprzez operacje logiczne pomiędzy obiektami. {{Version/pl|0.17}}
+
** [[Image:Part_BooleanFragments.svg|32px]] [[Part_BooleanFragments|Fragmenty funkcji fogicznych]]: tworzy wszystkie elementy, które można uzyskać poprzez operacje logiczne pomiędzy obiektami. {{Version/pl|0.17}}
 
** [[Image:Part SliceApart.svg|32px]] [[Part_SliceApart|Pokroj część]]: narzędzie do dzielenia kształtów przez przecięcie jej innym kształtem.
 
** [[Image:Part SliceApart.svg|32px]] [[Part_SliceApart|Pokroj część]]: narzędzie do dzielenia kształtów przez przecięcie jej innym kształtem.
** [[Image:Part Slice.png|32px]] [[Part_Slice|Rozkroj częścią]]: Dzieli obiekt na części, przecinając go z innym obiektem. {{Version/pl|0.17}}
+
** [[Image:Part_Slice.svg|32px]] [[Part_Slice|Rozkroj częścią]]: Dzieli obiekt na części, przecinając go z innym obiektem. {{Version/pl|0.17}}
** [[Image:Part XOR.png|32px]] [[Part_XOR|XOR]]: usuwa przestrzeń współdzieloną przez parzystą liczbę obiektów ''(symetryczna wersja  [[Part_Cut|Wycięcie]])''. {{Version/pl|0.17}}
+
** [[Image:Part_XOR.svg|32px]] [[Part_XOR|XOR]]: usuwa przestrzeń współdzieloną przez parzystą liczbę obiektów ''(symetryczna wersja  [[Part_Cut|Wycięcie]])''. {{Version/pl|0.17}}
  
 
* [[Image:Part Defeaturing.svg|32px]] [[Part_Defeaturing|Usuń właściwość z kształtu]]: {{Version|0.18}}
 
* [[Image:Part Defeaturing.svg|32px]] [[Part_Defeaturing|Usuń właściwość z kształtu]]: {{Version|0.18}}
* [[Image:Part_Section.png|32px]] [[Part_Section/pl|Przekrój]]: tworzy przekrój, przecinając obiekt płaszczyzna przekroju.
+
* [[Image:Part_Section.svg|32px]] [[Part_Section/pl|Przekrój]]: tworzy przekrój, przecinając obiekt płaszczyzna przekroju.
* [[Image:Part_SectionCross.png|32px]] [[Part_SectionCross|Wiele przekrojów...]]: tworzy jeden lub więcej przekrojów przez wybrany kształt.
+
* [[Image:Part_CrossSections.svg|32px]] [[Part_SectionCross|Wiele przekrojów...]]: tworzy jeden lub więcej przekrojów przez wybrany kształt.
 
* [[Image:Part Attachment.svg|32px]] [[Part Attachment|Przymocuj obiekt]]: jest to narzędzie służące do dołączania obiektu do innego obiektu.
 
* [[Image:Part Attachment.svg|32px]] [[Part Attachment|Przymocuj obiekt]]: jest to narzędzie służące do dołączania obiektu do innego obiektu.
  
Line 115: Line 112:
  
 
* [[Image:Part_CheckGeometry.svg|32px]] [[Part CheckGeometry|Analizuje geometrię ...]]: sprawdza geometrię wybranych obiektów pod kątem błędów.
 
* [[Image:Part_CheckGeometry.svg|32px]] [[Part CheckGeometry|Analizuje geometrię ...]]: sprawdza geometrię wybranych obiektów pod kątem błędów.
 +
 +
===Pozycje w menu kontekstowym===
 +
 +
*[[Std_SetAppearance|Wygląd zewnętrzny]]: określa wygląd całej części ''(przezroczystość kolor itp.)''.
 +
*[[Part_FaceColors|Ustaw kolor]]: przypisuje kolory do poszczególnych powierzchni.
  
 
==Ustawienia==
 
==Ustawienia==
  
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preference|Ustawienia ...]] Import Eksport
+
<!--Preferencje PartDesign są zdefiniowane w obrębie stanowiska pracy PartDesign, a zarówno stanowisko PartDesign jak i Design wykorzystują je-->
 +
* [[Image:Preferences-part_design.svg|32px]] [[PartDesign_Preferences|Preferences]]: preferencje dostępne dla narzędzi Środowiska Part ''(Środowisko Part korzysta również z Preferencji PartDesign)''.
 +
* [[Image:Preferences-import-export.svg|32px]] [[Import_Export_Preferences|Ustawienia import - eksport]]: preferencje dostępne przy imporcie z i eksporcie do różnych formatów plików.
 +
* [[Fine-tuning]]: kilka dodatkowych parametrów, aby dostosować zachowanie Środowiska pracy Part.
  
 
==Koncepcje geometryczne OCCT==
 
==Koncepcje geometryczne OCCT==
Line 124: Line 129:
 
W terminologii OpenCascade rozróżniamy geometryczne prymitywy i kształty powierzchniowe. Geometryczny prymityw może być punktem, linią, okręgiem, płaszczyzną itp. lub nawet bardziej skomplikowanymi typami, takimi jak krzywa B-Spline lub powierzchnia. Kształt może być wierzchołkiem, krawędzią, obwodem, ścianą, bryłą lub składnikiem innych kształtów. Pierwotne elementy geometryczne nie są przeznaczone do bezpośredniego wyświetlania na scenie 3D, ale raczej do wykorzystania jako geometria konstrukcji kształtów. Na przykład, krawędź może być zbudowana z linii lub z fragmentu okręgu.
 
W terminologii OpenCascade rozróżniamy geometryczne prymitywy i kształty powierzchniowe. Geometryczny prymityw może być punktem, linią, okręgiem, płaszczyzną itp. lub nawet bardziej skomplikowanymi typami, takimi jak krzywa B-Spline lub powierzchnia. Kształt może być wierzchołkiem, krawędzią, obwodem, ścianą, bryłą lub składnikiem innych kształtów. Pierwotne elementy geometryczne nie są przeznaczone do bezpośredniego wyświetlania na scenie 3D, ale raczej do wykorzystania jako geometria konstrukcji kształtów. Na przykład, krawędź może być zbudowana z linii lub z fragmentu okręgu.
  
Podsumowując, prymitywy geometryczne to "bezkształtne" elementy konstrukcyjne, podczas gdy kształty topologiczne to realne obiekty na nich zbudowane.
+
Podsumowując, prymitywy geometryczne to '''bezkształtne''' elementy konstrukcyjne, podczas gdy kształty [[Part_TopoShape|topologiczne]] to realne obiekty zbudowane w ich oparciu.
 +
 
 +
Kompletny wykaz wszystkich prymitywów i kształtów znajduje się w [http://www.opencascade.org/org/doc/ Dokumentacji OCC] ''(alternatywnie: [https://www.opencascade.com/doc/occt-7.4.0/refman/html/ sourcearchive.com])'', wyszukaj' '''"Geom_*" '''''(w odniesieniu do geometrycznych elementów pierwotnych)'' i''' "TopoDS_*" '''''(w odniesieniu do kształtów)''. Możesz też tam przeczytać o różnicach między nimi. Należy pamiętać, że oficjalna dokumentacja OCC nie jest dostępna online ''(należy pobrać archiwum)'' i jest skierowana głównie do programistów, a nie do użytkowników końcowych. Ale miejmy nadzieję, że znajdziesz tu wystarczająco dużo informacji, aby można było zacząć pracować dalej.
 +
Warto zobaczyć [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Podręcznik użytkownika danych modelowania].
 +
 
 +
<blockquote style="color: slategray">''Na bardzo wysokim poziomie topologia mówi, z jakich części składa się obiekt i jakie są logiczne relacje między nimi. Kształt tworzony jest z określonego zestawu powierzchni. Powierzchnia jest ograniczona pewnym zestawem krawędzi. Dwie powierzchnie sąsiadują ze sobą, jeśli mają wspólną krawędź.''</blockquote>
 +
 
 +
<blockquote style="color: slategray">''Sama topologia nie określa wielkości, krzywizny ani lokalizacji 3D żadnego z tych elementów. Jednak każdy element topologii wie o swojej podstawowej geometrii. Każda ściana wie, na jakiej powierzchni się znajduje. Krawędź wie, na jakiej krzywej leży. Geometria wie o krzywiznach i położeniu w przestrzeni.'' - [https://www.opencascade.com/content/geometry-and-topology Source]</blockquote>
 +
 
 +
<hr />
 +
 
 +
<blockquote style="color: slategray">''W ten sposób Topologia definiuje związek pomiędzy prostymi bryłami geometrycznymi, które mogą być łączone razem, aby reprezentować złożone kształty.'' - [https://www.opencascade.com/doc/occt-7.0.0/overview/html/occt_user_guides__modeling_data.html Podręcznik użytkownika danych modelowania]</blockquote>
 +
 
 +
[[File:ClassTopoDS_Shape_inherit_graph.png]]
  
Kompletny wykaz wszystkich prymitywów i kształtów znajduje się w [http://www.opencascade.org/org/doc/ Dokumentacji OCC] ''(alternatywnie: [http://opencascade.sourcearchive.com/documentation/6.3.0.dfsg.1-1/classes.html sourcearchive.com])'', wyszukaj' ''"Geom_*" '''''(w odniesieniu do geometrycznych elementów pierwotnych)'' i''' "TopoDS_*" '''''(w odniesieniu do kształtów)''. Możesz też tam przeczytać o różnicach między nimi. Należy pamiętać, że oficjalna dokumentacja OCC nie jest dostępna online ''(należy pobrać archiwum)'' i jest skierowana głównie do programistów, a nie do użytkowników końcowych. Ale miejmy nadzieję, że znajdziesz tu wystarczająco dużo informacji, aby można było zacząć pracować dalej.
+
'''Note:''' Tylko 3 typy obiektów topologicznych mają reprezentacje geometryczne - wierzchołek, krawędź i powierzchnia ''([https://opencascade.blogspot.com/2009/02/topology-and-geometry-in-open-cascade.html żródło])''.
  
Typy geometryczne są aktualnie podzielone na dwie główne grupy: krzywe i powierzchnie. wychodząc z krzywych (prosta, okrąg, ...) możesz bezpośredni zbudować krawędź, wychodząc z powierzchni (płaszczyzna, walec, ...) może być zbudowana ściana. Np. geometryczny prymityw prostej jest nieograniczony, innymi słowy jest zdefiniowany przez wektor bazowy i wektor kierunku kiedy jego reprezentacja kształtu ograniczona jest przez punkty: początkowy o koncowy. i sześcian -- bryła -- może być stworzony z sześciu ograniczonych płaszczyzn.
+
Typy geometryczne można podzielić na dwie główne grupy: krzywe i powierzchnie. Z krzywych ''(linii, okręgu, ...)'' można bezpośrednio zbudować krawędź, z powierzchni ''(płaszczyzna, cylinder, ...)'' można zbudować ścianę. Na przykład, pierwotna linia geometryczna jest nieograniczona, tzn. jest zdefiniowana wektorem bazowym i wektorem kierunku, podczas gdy jej reprezentacja kształtu musi być czymś ograniczonym np. przez punkt początkowy i końcowy. A kostka - bryła - może być utworzone przez sześć ograniczonych płaszczyzn.
  
 
Z krawędzi lub ściany można również powrócić do jej pierwotnego geometrycznego odpowiednika.
 
Z krawędzi lub ściany można również powrócić do jej pierwotnego geometrycznego odpowiednika.
 +
  
 
Zatem z kształtów można budować bardzo złożone części lub, odwrotnie, wyodrębniać wszystkie kształty podrzędne, z których składa się bardziej złożony kształt.
 
Zatem z kształtów można budować bardzo złożone części lub, odwrotnie, wyodrębniać wszystkie kształty podrzędne, z których składa się bardziej złożony kształt.
Line 136: Line 155:
 
[[File:Part_TopoShape_relationships.svg|600px]]
 
[[File:Part_TopoShape_relationships.svg|600px]]
  
{{Caption|The "Part::TopoShape" jest obiektem geometrycznym, który jest widoczny na ekranie. Zasadniczo wszystkie Środowiska pracy wykorzystują te kształty '''TopoShapes''' wewnętrznie, aby budować i wyświetlać krawędzie, ściany i bryły.}}
+
{{Caption|{{incode|Part::TopoShape}} jest klasą obiektu geometrycznego, który jest widoczny na ekranie. Zasadniczo wszystkie Środowiska pracy wykorzystują te kształty [[Part_TopoShape|TopoShapes]] wewnętrznie, aby budować i wyświetlać krawędzie, ściany i bryły.}}
  
 
===Tworzenie skryptów===
 
===Tworzenie skryptów===
Line 142: Line 161:
 
{{Emphasis|Zobacz również:}} [[Part scripting|skrypty dla detali]]
 
{{Emphasis|Zobacz również:}} [[Part scripting|skrypty dla detali]]
  
<div class="mw-translate-fuzzy">
+
Główną strukturą danych wykorzystywaną w module Part jest typ danych [http://en.wikipedia.org/wiki/Boundary_representation BRep] z OpenCascade.
Główna sktuktura danych używana w module Part to [http://en.wikipedia.org/wiki/Boundary_representation BRep] pochodzące z OpenCascade.
+
Prawie cała zawartość i typy obiektów modułu Part są dostępne dla skryptów [[Python|Python]]. Obejmuje to geometryczne elementy pierwotne, takie jak linia i koło ''(lub łuk)'' oraz cały zakres kształtów '''TopoShapes''', takich jak wierzchołki, krawędzie, obwód, ścianki, bryły i związki. Dla każdego z tych obiektów istnieje kilka metod tworzenia, a dla niektórych z nich, zwłaszcza '''TopoShapes''', dostępne są również zaawansowane operacje, takie jak operacje logiczne suma/różnica/iloczyn. Poznaj informacje o zawartości modułu Part, jak opisano na stronie [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], aby uzyskać więcej informacji.
Wszelkie treści i typy obiektów modułu Part są aktualnie dostępne przez skryptowanie w pythonie. Zawiera ono prymitywy geometryczne, jak Linia lub Okrąg (lub Łuk) i cały zakres TopoKształtów (TopoShapes), jak Wierzchołki, Krawędzie, Przewody, Ściany, Bryły lite i Złożenia. Dla każdego z tych obiektów, istnieje kilka metod tworzeni. Niektóre z nich, szczególnie TopoKształty, zaawansowane operacje jak unie/różnice/wycięcia są także dostępne. Eksploracja treści modułu Part, jest opisana szerzej na stronie [[FreeCAD Scripting Basics/pl | Podstawy skryptowania we FreeCADzie]].
+
 
</div>
+
Najbardziej podstawowym obiektem, który można utworzyć jest [[Part Feature|Właściwość części]], który posiada prostą właściwość {{PropertyData|miejsce umieszczenia}}, oraz podstawowe cechy określające jego kolor i wygląd.
  
The most basic object that can be created is a [[Part Feature|Part Feature]], which has a simple {{PropertyData|Placement}} property, and basic properties to define its color and appearance.  
+
Innym prostym obiektem używanym w obiektach geometrycznych 2D jest[[Part Part2DObject|Part Part2DObject]], który jest podstawą [[Sketcher_SketchObject|SketchObject]] ([[Sketcher Workbench|Szkicownika]]), oraz większości [[Draft Workbench|elementów robocztch]].
  
Another simple object used in 2D geometrical objects is [[Part Part2DObject|Part Part2DObject]], which is the base of [[Sketcher Workbench|Sketches]], and most [[Draft Workbench|Draft elements]].
+
===Skrypt testowy===
  
=== Examples ===
+
Przetestuj tworzenie [[Part_Primitives|Części pierwotnych]] za pomocą skryptu. {{Version/pl|0.19}}
  
By stworzyć prostą, włącz konsolę Pythona i wpisz:
+
{{Code|code=
 +
import parttests.part_test_objects as pto
 +
pto.create_test_file("example_file")
 +
}}
 +
 
 +
Skrypt ten znajduje się w katalogu instalacyjnym programu i może być badany w celu sprawdzenia, jak budowane są podstawowe elementy pierwotne.
 +
{{Code|code=
 +
$INSTALL_DIR/Mod/Part/parttests/part_test_objects.py
 +
}}
 +
 
 +
===Przykłady===
 +
 
 +
Aby utworzyć element '''linii''' przejdź do konsoli Pythona i wpisz:
  
 
{{Code|code=
 
{{Code|code=
Line 165: Line 196:
 
}}
 
}}
  
Przejdźmy przez przykład pythona, krok po kroku:
+
Prześledźmy powyższy przykład Pytona krok po kroku:
  
 
{{Code|code=
 
{{Code|code=
Line 172: Line 203:
 
}}
 
}}
  
ładuje moduł Part i tworzy nowy dokument
+
wczytuje Środowisko pracy Part i tworzy nowy dokument.
  
 
{{Code|code=
 
{{Code|code=
Line 180: Line 211:
 
}}
 
}}
  
Prosta jest aktualnie odcinkiem, stąd punkt startowy i końcowy.
+
Linia to w rzeczywistości odcinek, stąd punkt początkowy i końcowy.
  
 
{{Code|code=
 
{{Code|code=
Line 186: Line 217:
 
}}
 
}}
  
<div class="mw-translate-fuzzy">
+
Dodaje to typ obiektu Part do dokumentu i przypisuje reprezentację kształtu segmentu linii do właściwości „Kształt” dodanego obiektu. Ważne jest, aby zrozumieć tutaj, że użyliśmy prymitywu geometrycznego ''(Part.LineSegment)'', aby utworzyć z niego '''TopoShape''' ''(metoda toShape ())''. Do dokumentu można dodawać tylko kształty. W programie FreeCAD prymitywy geometrii używane jako '''„konstrukcje budowlane”''' dla kształtów.
To dodaje do dokumentu obiekt typu Part i przypisuje reprezentację kształtu odcinka do właściwości 'Shape' dodanego obiektu. Ważne jest zrozumienie, że tutaj używamy geometrycznych prymitywów (Part.line) do stworzenia z nich TopoKształtu (metoda toShape()). Tylko Kształty mogą być dodane do dokumentu. We FreeCADzie, geometryczne prymitywy są "strukturami budującymi" dla Kształtów.
 
</div>
 
  
 
{{Code|code=
 
{{Code|code=
Line 194: Line 223:
 
}}
 
}}
  
Aktualizuje dokument. Także przygotowuje wizualizację nowej części.
+
Aktualizuje dokument. Także przygotowuje wizualizację nowego obiektu części.
 +
 
 +
Zauważ, że segment linii może być utworzony poprzez określenie jego punktu początkowego i końcowego bezpośrednio w konstruktorze, na przykład Part.LineSegment(point1,point2). Możemy też utworzyć linię domyślną i ustawić jej właściwości później, tak jak zrobiliśmy to tutaj.
 +
 
 +
Linia może być również tworzona za pomocą:
 +
 
 +
{{Code|code=
 +
import FreeCAD
 +
import Part
 +
DOC = FreeCAD.newDocument()
 +
 
 +
def mycreateLine(pt1, pt2, objName):
 +
    obj = DOC.addObject("Part::Line", objName)
 +
    obj.X1 = pt1[0]
 +
    obj.Y1 = pt1[2]
 +
    obj.Z1 = pt1[2]
 +
 
 +
    obj.X2 = pt2[0]
 +
    obj.Y2 = pt2[1]
 +
    obj.Z2 = pt2[2]
 +
 
 +
    DOC.recompute()
 +
    return obj
 +
 
 +
line = mycreateLine((0,0,0), (0,10,0), "LineName")
 +
 
 +
}}
 +
 
  
<div class="mw-translate-fuzzy">
 
Zauważ, że Prosta (Line) może być stworzona przez sprecyzowanie punktu startowego i końcowego bezpośrednio. Dla przykładu Part.Line(point1,point2) lub możemy stworzyć domyślną prostą ustawić jej właściwości później, jak zrobiliśmy tutaj.
 
</div>
 
  
 
Okrąg może być stworzony w podobny sposób:
 
Okrąg może być stworzony w podobny sposób:
Line 212: Line 265:
 
}}
 
}}
  
Zauważ znów, użyliśmy okręgu (geometryczny prymitiw) do stworzenia kształtu z niego. Oczywiście później możemy uzyskać dostęp do naszej konstrukcji, przez zrobienie:
+
lub z użyciem:
 +
 
 +
{{Code|code=
 +
import FreeCAD
 +
import Part
 +
DOC = FreeCAD.newDocument()
 +
 
 +
def mycreateCircle(rad, objName):
 +
    obj = DOC.addObject("Part::Circle", objName)
 +
    obj.Radius = rad
 +
 
 +
    DOC.recompute()
 +
    return obj
 +
 
 +
circle = mycreateCircle(5.0, "CircleName")
 +
 
 +
}}
 +
 
 +
 
 +
Zauważ ponownie, użyliśmy okręgu ''(geometria prymitywna)'' do skonstruowania z niego kształtu. Oczywiście nadal możemy uzyskać dostęp do naszej geometrii konstrukcyjnej później, wykonując to zadanie:
  
 
{{Code|code=
 
{{Code|code=
Line 220: Line 292:
 
}}
 
}}
  
Tutaj wzieliśmy kształt naszego obiektu f, następnie pobraliśmy listę krawędzi, w tym przypadku będzie tylko jedna, bo zrobiliśmy cały kształt tylko z jednego okręgu, więc bierzemy tylko pierwszy element z listy Krawędzi (Edges list), i bierzemy jego Krzywą (Curve). Każda Krawędź ma Krzywą, która jest bazą dla prymitywu.
+
Tutaj przyjmujemy kształt naszego obiektu f, następnie bierzemy jego listę krawędzi. W tym przypadku będzie tylko jedna, ponieważ wykonaliśmy cały kształt z jednego okręgu, więc bierzemy tylko pierwszą pozycję z listy krawędzi i pobieramy jej krzywą. Każda krawędź ma krzywą, która jest geometrią pierwotną, na której się opiera.
  
<div class="mw-translate-fuzzy">
+
Przejdź do strony [[Topological data scripting/pl|tworzenie skryptów danych topologicznych]], jeśli chcesz wiedzieć więcej.
Przejdź do strony [[Topological data scripting/pl|tworzenie skryptów danych topologicznych]]], jeśli chcesz wiedzieć więcej.
 
</div>
 
  
 
==Poradniki==
 
==Poradniki==
Line 231: Line 301:
 
* [[Whiffle_Ball_tutorial|Whiffle Ball tutorial]] : Jak korzystać ze Środowiska pracy Part.
 
* [[Whiffle_Ball_tutorial|Whiffle Ball tutorial]] : Jak korzystać ze Środowiska pracy Part.
  
{{docnav/pl
+
{{Docnav/pl
 
|[[OpenSCAD Module|Środowisko pracy OpenSCAD]]
 
|[[OpenSCAD Module|Środowisko pracy OpenSCAD]]
|[[PartDesign Workbench/pl|Środowisko pracy PartDesign]]
+
|[[PartDesign Workbench|Środowisko pracy PartDesign]]
|IconL=OpenSCADWorkbench.svg
+
|IconL=Workbench_OpenSCAD.svg
 
|IconR=Workbench_PartDesign.svg
 
|IconR=Workbench_PartDesign.svg
 
}}
 
}}
  
{{Userdocnavi/pl}}
+
{{Part Tools navi{{#translation:}}}}
[[Category:Part]]
+
{{Userdocnavi{{#translation:}}}}
[[Category:Workbenches]]
+
[[Category:Workbenches{{#translation:}}]]

Latest revision as of 19:43, 9 August 2020

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎hrvatski • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎svenska • ‎čeština • ‎русский • ‎українська • ‎中文 • ‎中文(中国大陆)‎ • ‎中文(台灣)‎ • ‎日本語
Ikonka FreeCAD dla Środowiska pracy Part

Wprowadzenie

Funkcje modelowania brył w FreeCAD są oparte na jądrze (OCCT) Technologia Open Cascade, profesjonalnym systemie CAD, który oferuje możliwość zaawansowanego tworzenia i manipulacji geometrii 3D.
Środowisko pracy Workbench Part.svg Part jest warstwą umieszczoną nad bibliotekami OCCT, która daje użytkownikowi dostęp do geometrycznych prymitywów i funkcji OCCT. Zasadniczo wszystkie funkcje rysowania 2D i 3D w każdym Środowisku roboczym (Workbench Draft.svg Draft, Workbench Sketcher.svg Sketcher, Workbench PartDesign.svg PartDesign, etc.), są oparte na tych funkcjach, które zostały zaprezentowane przez Part Workbench. Dlatego też Środowisko pracy Part jest uważane za kluczowy komponent umiejętności modelowania programu FreeCAD.

Obiekty stworzone przy użyciu Środowiska pracy Part są stosunkowo proste. Są przeznaczone do używania z operacjami typu logicznego (łączenia i cięcia) w celu budowania bardziej złożonych kształtów. Ten wzorzec modelowania znany jest jako Stereometria konstrukcyjna (CSG) i była to tradycyjna metodologia stosowana we wczesnych systemach CAD. Z drugiej strony PartDesign zapewnia bardziej nowoczesny cykl roboczy służący konstruowaniu kształtów: wykorzystuje parametrycznie zdefiniowany szkic, który jest wytłaczany w celu utworzenia podstawowej bryły, która następnie jest modyfikowana przez przekształcenia parametryczne (edycja cech), aż do uzyskania ostatecznego obiektu.

Obiekty części są bardziej złożone niż obiekty siatkowe utworzone przy użyciu Środowiska pracy Mesh, ponieważ pozwalają one na bardziej zaawansowane operacje, takie jak spójne operacje logiczne, historia modyfikacji i właściwości parametryczne.

Part Workbench relationships.svg

Środowisko pracy Part jest podstawową warstwą, która udostępnia funkcje rysowania OCCT dla każdego Środowiska pracy w programie FreeCAD.


Narzędzia

Wszystkie narzędzia zostały umieszczone w menu głównym Środowiska pracy Part.

Bryły pierwotne

Menu obejmuje narzędzia do tworzenia obiektów o charakterze pierwotnym/elementarnym.

Modyfikowanie obiektów

Są to narzędzia do modyfikacji istniejących obiektów. Pozwalają one na wybór obiektu, który chcesz zmodyfikować.

  • Part CompOffsetTools.png Narzędzie do odsunięcia ...:
    • Part Offset.svg 3D Offset: konstruuje kształt równoległy w pewnej odległości od oryginału.
    • Part Offset2D.svg 2D Offset: konstruuje rzut równoległy w pewnej odległości od oryginału lub powiększa / zmniejsza powierzchnię płaską.
  • Part ProjectionOnSurface.png Projekcja na powierzchni: Wysunięcie logo, tekstu lub dowolnej ścianki, obszaru zamkniętego, krawędzi na powierzchni. Za pomocą występu/wysunięcia można stworzyć bryłę lub obszar zamknięty.
  • Part Booleans.svg Operacje logiczne: wykonuje operacje z użyciem funkcji logicznych na obiektach.
  • Part Fuse.svg Łączenie: zespaja (dodaje) dwa obieky.
  • Part Common.svg Część wspólna: wyodrębnia wspólną (krzyżującą się) część dwóch obiektów.
  • Part Cut.svg Wycięcie: Wycina (odejmuje) jeden obiekt z drugiego.

Pomiary

Std Measure Menu.png Menu pomiary: umożliwia wykonywanie pomiarów liniowych i kątowych pomiędzy punktami, krawędziami i ścianami.

  • Part Measure Linear.svg Pomiar liniowy: pozwala na wykonywanie pomiarów wzdłuż linii.
  • Part Measure Angular.svg Pomiar kąta: pozwala na wykonywanie pomiarów nachylenia linii prostej.
  • Part Measure Refresh.svg Odnów pomiary: aktualizuje widok 3D, aby wyświetlić wszystkie utworzone pomiary.
  • Part Measure Clear All.svg Wyczyść wszystko: usuwa wszystkie pomiary.
  • Part Measure Toggle All.svg Przełacz widoczność: pokazuje lub ukrywa widoczność wszystkich pomiarów.
  • Part Measure Toggle 3d.svg Pokaż wybrane: narzędzie to przełącza widoczność pomiarów liniowych (kolor zielony) i kątowych (kolor niebieski).
  • Part Measure Toggle Delta.svg Przełącz deltę: narzędzie to przełącza widoczność pomiarów delta (kolor zielony).

Pozostałe narzędzia

Pozycje w menu kontekstowym

Ustawienia

  • Preferences-part design.svg Preferences: preferencje dostępne dla narzędzi Środowiska Part (Środowisko Part korzysta również z Preferencji PartDesign).
  • Preferences-import-export.svg Ustawienia import - eksport: preferencje dostępne przy imporcie z i eksporcie do różnych formatów plików.
  • Fine-tuning: kilka dodatkowych parametrów, aby dostosować zachowanie Środowiska pracy Part.

Koncepcje geometryczne OCCT

W terminologii OpenCascade rozróżniamy geometryczne prymitywy i kształty powierzchniowe. Geometryczny prymityw może być punktem, linią, okręgiem, płaszczyzną itp. lub nawet bardziej skomplikowanymi typami, takimi jak krzywa B-Spline lub powierzchnia. Kształt może być wierzchołkiem, krawędzią, obwodem, ścianą, bryłą lub składnikiem innych kształtów. Pierwotne elementy geometryczne nie są przeznaczone do bezpośredniego wyświetlania na scenie 3D, ale raczej do wykorzystania jako geometria konstrukcji kształtów. Na przykład, krawędź może być zbudowana z linii lub z fragmentu okręgu.

Podsumowując, prymitywy geometryczne to bezkształtne elementy konstrukcyjne, podczas gdy kształty topologiczne to realne obiekty zbudowane w ich oparciu.

Kompletny wykaz wszystkich prymitywów i kształtów znajduje się w Dokumentacji OCC (alternatywnie: sourcearchive.com), wyszukaj' "Geom_*" (w odniesieniu do geometrycznych elementów pierwotnych) i "TopoDS_*" (w odniesieniu do kształtów). Możesz też tam przeczytać o różnicach między nimi. Należy pamiętać, że oficjalna dokumentacja OCC nie jest dostępna online (należy pobrać archiwum) i jest skierowana głównie do programistów, a nie do użytkowników końcowych. Ale miejmy nadzieję, że znajdziesz tu wystarczająco dużo informacji, aby można było zacząć pracować dalej. Warto zobaczyć Podręcznik użytkownika danych modelowania.

Na bardzo wysokim poziomie topologia mówi, z jakich części składa się obiekt i jakie są logiczne relacje między nimi. Kształt tworzony jest z określonego zestawu powierzchni. Powierzchnia jest ograniczona pewnym zestawem krawędzi. Dwie powierzchnie sąsiadują ze sobą, jeśli mają wspólną krawędź.

Sama topologia nie określa wielkości, krzywizny ani lokalizacji 3D żadnego z tych elementów. Jednak każdy element topologii wie o swojej podstawowej geometrii. Każda ściana wie, na jakiej powierzchni się znajduje. Krawędź wie, na jakiej krzywej leży. Geometria wie o krzywiznach i położeniu w przestrzeni. - Source


W ten sposób Topologia definiuje związek pomiędzy prostymi bryłami geometrycznymi, które mogą być łączone razem, aby reprezentować złożone kształty. - Podręcznik użytkownika danych modelowania

ClassTopoDS Shape inherit graph.png

Note: Tylko 3 typy obiektów topologicznych mają reprezentacje geometryczne - wierzchołek, krawędź i powierzchnia (żródło).

Typy geometryczne można podzielić na dwie główne grupy: krzywe i powierzchnie. Z krzywych (linii, okręgu, ...) można bezpośrednio zbudować krawędź, z powierzchni (płaszczyzna, cylinder, ...) można zbudować ścianę. Na przykład, pierwotna linia geometryczna jest nieograniczona, tzn. jest zdefiniowana wektorem bazowym i wektorem kierunku, podczas gdy jej reprezentacja kształtu musi być czymś ograniczonym np. przez punkt początkowy i końcowy. A kostka - bryła - może być utworzone przez sześć ograniczonych płaszczyzn.

Z krawędzi lub ściany można również powrócić do jej pierwotnego geometrycznego odpowiednika.


Zatem z kształtów można budować bardzo złożone części lub, odwrotnie, wyodrębniać wszystkie kształty podrzędne, z których składa się bardziej złożony kształt.

Part TopoShape relationships.svg

Part::TopoShape jest klasą obiektu geometrycznego, który jest widoczny na ekranie. Zasadniczo wszystkie Środowiska pracy wykorzystują te kształty TopoShapes wewnętrznie, aby budować i wyświetlać krawędzie, ściany i bryły.


Tworzenie skryptów

Zobacz również: skrypty dla detali

Główną strukturą danych wykorzystywaną w module Part jest typ danych BRep z OpenCascade. Prawie cała zawartość i typy obiektów modułu Part są dostępne dla skryptów Python. Obejmuje to geometryczne elementy pierwotne, takie jak linia i koło (lub łuk) oraz cały zakres kształtów TopoShapes, takich jak wierzchołki, krawędzie, obwód, ścianki, bryły i związki. Dla każdego z tych obiektów istnieje kilka metod tworzenia, a dla niektórych z nich, zwłaszcza TopoShapes, dostępne są również zaawansowane operacje, takie jak operacje logiczne suma/różnica/iloczyn. Poznaj informacje o zawartości modułu Part, jak opisano na stronie FreeCAD Scripting Basics, aby uzyskać więcej informacji.

Najbardziej podstawowym obiektem, który można utworzyć jest Właściwość części, który posiada prostą właściwość Datamiejsce umieszczenia, oraz podstawowe cechy określające jego kolor i wygląd.

Innym prostym obiektem używanym w obiektach geometrycznych 2D jestPart Part2DObject, który jest podstawą SketchObject (Szkicownika), oraz większości elementów robocztch.

Skrypt testowy

Przetestuj tworzenie Części pierwotnych za pomocą skryptu. dostępne w wersji 0.19

import parttests.part_test_objects as pto
pto.create_test_file("example_file")

Skrypt ten znajduje się w katalogu instalacyjnym programu i może być badany w celu sprawdzenia, jak budowane są podstawowe elementy pierwotne.

$INSTALL_DIR/Mod/Part/parttests/part_test_objects.py

Przykłady

Aby utworzyć element linii przejdź do konsoli Pythona i wpisz:

import Part,PartGui 
doc=App.newDocument()  
l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)
doc.addObject("Part::Feature","Line").Shape=l.toShape() 
doc.recompute()

Prześledźmy powyższy przykład Pytona krok po kroku:

import Part,PartGui
doc=App.newDocument()

wczytuje Środowisko pracy Part i tworzy nowy dokument.

l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)

Linia to w rzeczywistości odcinek, stąd punkt początkowy i końcowy.

doc.addObject("Part::Feature","Line").Shape=l.toShape()

Dodaje to typ obiektu Part do dokumentu i przypisuje reprezentację kształtu segmentu linii do właściwości „Kształt” dodanego obiektu. Ważne jest, aby zrozumieć tutaj, że użyliśmy prymitywu geometrycznego (Part.LineSegment), aby utworzyć z niego TopoShape (metoda toShape ()). Do dokumentu można dodawać tylko kształty. W programie FreeCAD prymitywy geometrii są używane jako „konstrukcje budowlane” dla kształtów.

doc.recompute()

Aktualizuje dokument. Także przygotowuje wizualizację nowego obiektu części.

Zauważ, że segment linii może być utworzony poprzez określenie jego punktu początkowego i końcowego bezpośrednio w konstruktorze, na przykład Part.LineSegment(point1,point2). Możemy też utworzyć linię domyślną i ustawić jej właściwości później, tak jak zrobiliśmy to tutaj.

Linia może być również tworzona za pomocą:

import FreeCAD
import Part
DOC = FreeCAD.newDocument()

def mycreateLine(pt1, pt2, objName):
    obj = DOC.addObject("Part::Line", objName)
    obj.X1 = pt1[0]
    obj.Y1 = pt1[2]
    obj.Z1 = pt1[2]

    obj.X2 = pt2[0]
    obj.Y2 = pt2[1]
    obj.Z2 = pt2[2]

    DOC.recompute()
    return obj

line = mycreateLine((0,0,0), (0,10,0), "LineName")


Okrąg może być stworzony w podobny sposób:

import Part
doc = App.activeDocument()
c = Part.Circle() 
c.Radius=10.0  
f = doc.addObject("Part::Feature", "Circle")
f.Shape = c.toShape()
doc.recompute()

lub z użyciem:

import FreeCAD
import Part
DOC = FreeCAD.newDocument()

def mycreateCircle(rad, objName):
    obj = DOC.addObject("Part::Circle", objName)
    obj.Radius = rad

    DOC.recompute()
    return obj

circle = mycreateCircle(5.0, "CircleName")


Zauważ ponownie, użyliśmy okręgu (geometria prymitywna) do skonstruowania z niego kształtu. Oczywiście nadal możemy uzyskać dostęp do naszej geometrii konstrukcyjnej później, wykonując to zadanie:

s = f.Shape
e = s.Edges[0]
c = e.Curve

Tutaj przyjmujemy kształt naszego obiektu f, następnie bierzemy jego listę krawędzi. W tym przypadku będzie tylko jedna, ponieważ wykonaliśmy cały kształt z jednego okręgu, więc bierzemy tylko pierwszą pozycję z listy krawędzi i pobieramy jej krzywą. Każda krawędź ma krzywą, która jest geometrią pierwotną, na której się opiera.

Przejdź do strony tworzenie skryptów danych topologicznych, jeśli chcesz wiedzieć więcej.

Poradniki