Part Module/sv

From FreeCAD Documentation
Revision as of 17:35, 13 February 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

FreeCAD's CAD kapabilitet är baserad på OpenCasCade kärnan. Del modulen tillåter FreeCAD att komma åt och använda OpenCasCade objekt och funktioner. OpenCascade är en professionell CAD kärna, som erbjuder avancerad 3D geometrimanipulation och objekt. Del objekten, till skillnad från Nätmodul objekten, är mycket komplexare, och tillåter därför mycket mer avancerade operationer, som koherenta booleska operationer, ändringshistorik och parametriskt beteende.

The Part Workbench allows the user to access and use the OCCT objects and functions. Part objects, unlike Mesh objects, are more complex, and therefore permit more advanced operations like coherent boolean operations, modifications history, and parametric behaviour.

Verktygen

Alla Del modul verktygen finns i Del menyn som kommer fram när du laddar Del modulen.

These are tools for creating primitive objects.

  • Box: Draws a box by specifying its dimensions
  • Cone: Draws a cone by specifying its dimensions
  • Cylinder: Draws a cylinder by specifying its dimensions
  • Sphere: Draws a sphere by specifying its dimensions
  • Torus: Draws a torus (ring) by specifying its dimensions
  • CreatePrimitives: A tool to create various parametric geometric primitives
  • Shapebuilder: A tool to create more complex shapes from various parametric geometric primitives

Modifying objects

These are tools for modifying existing objects. They will allow you to choose which object to modify.

  • Booleans: Performs boolean operations on objects
  • Union: Fuses (unions) two objects
  • Common: Extracts the common (intersection) part of two objects
  • Cut: Cuts (subtracts) one object from another
  • Join features: smart booleans for walled objects (e.g., pipes) (v0.16)
    • Connect: Connects interiors of objects (v0.16)
    • Embed: Embeds a walled object into another walled object (v0.16)
    • Cutout: Creates a cutout in a wall of an object for another walled object (v0.16)
  • Splitting tools: (v0.17)
    • Boolean fragments: makes all the pieces that can be obtained by Boolean operations between objects (v0.17)
    • Slice: Splits an object into pieces by intersections with another object (v0.17)
    • XOR: removes space shared by even number of objects (symmetric version of Cut) (v0.17)
  • Compound
    • Make compound: Creates a compound from the selected objects.
    • Compound Filter: The CompoundFilter can be used to extract the individual pieces.
  • Extrude: Extrudes planar faces of an object
  • Fillet: Fillets (rounds) edges of an object
  • Revolve: Creates a solid by revolving another object (not solid) around an axis
  • Section: Creates a section by intersecting an object with a section plane
  • Cross sections...:
  • Chamfer: Chamfers edges of an object
  • Mirror: Mirrors the selected object on a given mirror plane
  • Ruled Surface:
  • Sweep: Sweeps one or more profiles along a path
  • Loft: Lofts from one profile to another
  • Offset tools:
    • 3D Offset: Constructs a parallel shape at a certain distance from original.
    • 2D Offset: Constructs a parallel wire at certain distance from original, or enlarges/shrinks a planar face. (v0.17)
    • Thickness: Hollows out a solid, leaving openings next to select faces.

Other tools

File:Part Boolean example.png
An example of union (Fuse), intersection (Common) and difference (Cut)
An example of union (Fuse), intersection (Common) and difference (Cut)

Preferences

Förklaring av koncepten

I OpenCasCade terminologi, så skiljer vi mellan geometriska primitiver och (topologiska) former. En geometrisk primitiv kan vara en punkt, en linje, en cirkel, ett plan, etc. eller även mer komplexa typer som en B-Spline kurva eller yta. En form kan vara ett hörn, en kant, en tråd, en yta, en solid eller en sammansättning av andra former. De geometriska primitiverna är inte gjorda för att direkt visas i 3D scenen, utan snarare för att användas som bygggeometri för former. Till exempel så kan en kant skapas av en linje eller av en cirkeldel.

Vi skulle kunna säga att geometriprimitiver är "formlösa" byggblock, och former är den riktiga spatiala geometrin som är byggd på dem.

För att få en komplett lista på dem, se OCC documentation och leta efter Geom_Geometry och TopoDS_Shape. Där kan du också läsa mer om skillnaderna mellan geometriska objekt och former. Notera att OCC dokumentationen inte är tillgänglig online (du måste ladda ned ett arkiv) och är mest riktad till programmerare, inte till slutanvändare. Men förhoppningsvis hittar du tillräckligt med information här för att kunna börja.

De geometriska typeerna kan uppdelas i två huvudgrupper: kurvor och ytor. Från kurvor (linje, cirkel, ...) så kan du bygga en kant, från ytor (plan, cylinder, ...) så kan en yta byggas. Den geometriska primitiven linje är till exempel obegränsad, d.v.s. den är definierad av en basvektor och en riktningsvektor emedan dess formrepresentation måste vara något som begränsas av en start och en slutpunkt. Och en låda -- en solid -- kan skapas av sex begränsade plan.

Från en kant eller yta så kan du också gå tillbaka till dess motsvarande geometriska primitiv.

Så, av former så kan du bygga mycket komplexa delar eller, åt andra hållet, plocka ut alla delformer som en mer komplex form är gjord av.

Skript

Den huvudsakliga data strukturen som används i Del modulen är BRep datatypen från OpenCascade.

Nästan alla Del modulens innehåll och objekttyper finns nu tillgängliga för python skript. Detta inkluderar geometriska primitiver, som Linje och Cirkel (eller Cirkelbåge), och alla topologiska former, som Hörn, Kanter, Trådar, Ytor, Solider och Sammansättningar. För vart och ett av dessa objekt, så finns flera metoder att skapa dem, och för en del av dem, speciellt de topologiska formerna, så finns avancerade operationer som booleska förening/skillnad/skärning . Utforska innehållet in Del modulen, som det är beskrivet i FreeCAD Skript Grunder sidan, för att lära dig mer.

Exempel

För att skapa en linje, växla till Python konsolen och skriv:

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()

Låt oss gå igenom ovanstående python exempel steg för steg:

import Part,PartGui
doc=App.newDocument()

laddar Del modulen och skapar ett nytt dokument

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

Linje är egentligen ett linjesegment, därför start och slutpunkten.

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

Detta lägger till en Del objekttyp till dokumentet och tilldelar linjesegmentets formrepresentation till 'Shape' egenskapen på det tillagda objektet. Det är viktigt att förstå att vi använde en geometrisk primitiv (Part.line) för att skapa en topologisk form av den ( toShape() metoden). Endast former kan adderass till dokumentet. I FreeCAD, så används geometriprimitiver som "byggstrukturer" för former.

doc.recompute()

Uppdaterar dokumentet. Detta förbereder också den visuella representationen av det nya del objektet.

Notera att en Linje kan skapas genom att du specificerar dess start och slutpunkt direkt i konstruktorn, till exempel Part.Line(point1,point2) eller vi kan skapa en standardlinje och ändra dess egenskaper efteråt, som vi gjorde här.

En cirkel kan skapas på ett liknanade sätt:

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

Notera igen, att vi använde cirkel (geometriprimitiv) för att konstruera en form av den. Vi kan förstår fortfarande komma åt vår konstruktionsgeometri efteråt, genom att göra:

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

Här tar vi formen av vårt objekt f, sedan tar vi dess lista av kanter, i detta fall kommer det endast att vara en, eftersom vi gjorde hela formen av en enda cirkel, så vi tar endast den första punkten i Kant listan, och vi tar dess kurva. Varje Kant har en Kurva, vilken är den geometriprimitiv den är baserad på.

Gå till Topologiska data skript sidan om du vill veta mer.

Tutorials

Mesh Module/sv
Drawing Module/sv