Part: Offset 2D

From FreeCAD Documentation
Revision as of 19:01, 10 May 2019 by Renatorivo (talk | contribs)

Offset 2D

Posizione nel menu
Parte → Offset 2D...
Ambiente
Parte
Avvio veloce
Nessuno
Introdotto nella versione
0.17
Vedere anche
Part Offset 3D, Part Spessore, Offset di Draft

Descrizione

Offset 2D di Parte costruisce un contorno, parallelo al contorno originale, ad una data distanza da esso. Oppure ingrandisce o restringe una faccia piana, in modo simile.

La faccia del contorno deve essere planare. In un oggetto ci possono essere più contorni, non necessariamente complanari.

Uso

  1. Selezionare un oggetto 2D
  2. Premere il pulsante Offset 2D... di Parte.
  3. Impostare l'offset nel Pannello delle attività.
  4. Premere OK.

Viene creato un oggetto parametrico Offset 2D. Gli oggetti originali vengono convertiti nella modalità di visualizzazione wireframe (solo linee).

Proprietà

  • DatiSource: Link alla forma originale
  • DatiValue La distanza a cui allargare la faccia del contorno. Se è negativa, la faccia del contorno si restringe.
  • DatiMode ("Pipe" or "Skin"): Imposta il modo in cui vengono elaborati i contorni non chiusi. Se "Pipe", il contorno è delineato come se fosse un contorno chiuso estremamente sottile. Se "Skin", viene creato un contorno aperto.
  • DatiJoin ("Arc", "Tangent", "Intersection"): Imposta il comportamento nelle pieghe. Se "Arc", i segmenti dell'offset sono collegati con un arco di cerchio, centrato nel vertice. "Tangent" non è supportato con OCC7.0.0. "Intersection": i segmenti dell'offset sono estesi fino a quando non si intersecano.
  • DatiIntersection ("false", "true"): stabilisce se più contorni vengono trattate collettivamente o in modo indipendente. Se "false", i contorni sono trattati in modo indipendente, le intersezioni tra i contorni risultanti vengono ignorate. Se "true", i contorni sono trattati in modo collettivo.
Sono accoppiati solo i contorni all'interno di un composto. Ad esempio, se la struttura è composto simile a (wire1, wire2, compound(wire3, wire4)), wire1 e wire2 sono trattati collettivamente, ma indipendentemente da wire3 e wire4. Allo stesso modo, wire3 e wire4 sono trattati collettivamente, ma indipendentemente da wire1+wire2.
Inoltre, in modalità collettiva, le direzioni dei contorni sono importanti, e la direzione influenza l'offset. Questo è in stretto rapporto con il modo in cui vengono trattati i fori nelle facce.
I contorni da trattare collettivamente devono essere complanari. I contorni da trattare in modo indipendente possono anche non essere complanari.
  • DatiFill ("false", "true"): se "true", lo spazio tra la faccia del contorno primitivo e l'offset viene riempito con una faccia.

Problemi noti

  • La maggior parte delle modalità non predefinite funziona solo con OCC 7.0.0 o superiori.
  • Questo strumento può mandare in crash FreeCAD (vedere il punto successivo). In Windows, questi incidenti vengono convertiti in eccezioni e in genere non causano la chiusura di FreeCAD; su altri OS può capitare. Quindi, si consiglia di salvare i progetti prima di tentare di utilizzare lo strumento.
  • Allargando delle facce con fori circolari di una quantità sufficiente a chiudere i fori, si verifica un crash (OCC 7.0.0). Il problema sembra essere specifico per cerchi; le altre forme sembrano chiudersi in modo corretto.
  • quando si applica l'offset a cerchi che hanno un posizionamento diverso da zero, il risultato può essere posizionato in modo sbagliato. (OCC 7.0.0)
  • quando si applica l'offset ai cerchi, a volte essi sono scalati in direzione inattesa (per esempio verso l'interno anziché verso l'esterno). (OCC 7.0.0)
  • Fill="true" non funziona quando si trattano collettivamente dei contorni aperti in modalità "Skin"
  • La modalità di unione "Tangent" non funziona (OCC 7.0.0)
  • L'offeset di contorni composti da un singolo segmento non è supportato (perché un segmento non definisce un piano). I contorni composti da una singola linea non possono neanche essere trattati in un offset collettivo.

Script

Lo strumento può essere utilizzato nelle macro e dalla console python utilizzando la seguente funzione:

f = App.ActiveDocument.addObject("Part::Offset2D", "Offset2D")
f.Source =  #some object
f.Value = 10.0

Offset 2D è anche disponibile come metodo di Part.Shape. Esempio:

import Part
circle = Part.Circle().toShape()
enlarged_circle = circle.makeOffset2D(10.0)
Part.show(circle)
Part.show(enlarged_circle)
# makeOffset2D(offset, join = 0, fill = False, openResult = false, intersection = false)
# 
# * offset: distance to expand the shape by. 
# 
# * join: method of offsetting non-tangent joints. 0 = arcs, 1 = tangent, 2 =
# intersection
# 
# * fill: if true, the output is a face filling the space covered by offset. If
# false, the output is a wire/face.
# 
# * openResult: True for "Skin" mode; False for Pipe mode. 
# 
# * intersection: collective offset
# 
# Returns: result of offsetting (wire or face or compound of those). Compounding
# structure follows that of source shape.