Arch Check/it: Difference between revisions

From FreeCAD Documentation
(Created page with "===Descrizione===")
No edit summary
 
(58 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
{{GuiCommand/it|Name=Arch Check|Name/it=Controlla|Workbenches=[[Arch Module/it|Architettura]]|MenuLocation=Arch → Strumenti di calcolo → Controlla|SeeAlso=[[Arch CloseHoles/it| Chiudi fori]]}}


{{Docnav/it
===Descrizione===
|[[Arch_MergeWalls/it|Unisci muri]]
|[[Arch_ToggleIfcBrepFlag/it|Attiva/Disattiva flag IFC Brep]]
|[[Arch_Workbench/it|Arch]]
|IconL=Arch_MergeWalls.svg
|IconR=Arch_ToggleIfcBrepFlag.svg
|IconC=Workbench_Arch.svg
}}


{{GuiCommand/it
This tool checks the current document or the selected objects for non-solid [[Part Module|Part]] or [[Arch Module|Arch]] objects, that might give problems, since most operations of the Arch module require solid objects.
|Name=Arch Check
|Name/it=Controlla
|MenuLocation=Arch → Utilità → Controlla
|Workbenches=[[Arch_Workbench/it|Arch]]
|SeeAlso=[[Arch_CloseHoles/it|Chiudi fori]]
}}


<span id="Description"></span>
==How to use==
==Descrizione==


Questo strumento controlla il documento corrente o gli oggetti selezionati alla ricerca di oggetti {{KEY|[[Image: Workbench_Part.svg|16px]] [[Part_Workbench/it|Part]]}} o {{KEY|[[Image: Workbench_Arch.svg|16px]] [[Arch_Workbench/it|Arch]]}}, che potrebbero dare problemi, poiché la maggior parte delle operazioni del modulo Architettura richiedono oggetti solidi.
# Press the {{KEY|[[Image:Arch Check.png|16px]] '''Check'''}} entry in Arch -> Calculation Tools menu


<span id="Usage"></span>
==Scripting==
==Utilizzo==


# Premere il pulsante {{Button|[[Image:Arch Check.svg|16px]] [[Arch Check/it|Controlla]]}}, o {{KEY|Arch}} → {{KEY|Utilità}} → {{KEY|[[Image:Arch Check.svg|16px]] [[Arch Check/it|Controlla]]}} nel menu principale.
This tool can by used in [[macros]] and from the python console by using the following function:
<syntaxhighlight>
check (objectslist,includehidden=False)
</syntaxhighlight>


<span id="Scripting"></span>
checks if the given objects contain only solids
==Script==
<languages/>

{{Emphasis|Vedere anche:}} [[Arch_API/it|API di Arch]] e [[FreeCAD_Scripting_Basics/it|Nozioni di base sugli script di FreeCAD]].

Lo strumento può essere utilizzato nelle [[Macros/it|macro]] e dalla console [[Python/it|Python]] tramite la seguente funzione:
{{Code|code=
list_bad = check(objectslist, includehidden=False)
}}

* Controlla se gli oggetti dati in {{incode|objectslist}} contengono solo solidi.
* Se {{incode|includehidden}} è {{incode|True}} include tutti gli oggetti nascosti, altrimenti li esclude dalla ricerca.
* Restituisce una {{incode|list_bad}}, una lista con gli oggetti che non sono derivati da una {{incode|Part::Feature}}, o componenti che non sono chiusi, non validi, non contengono solidi o che contengono facce che non fanno parte di alcun solido. Questo è usato per rilevare contorni e profili di [[Arch Workbench/it|Arch]] o [[Draft Workbench/it|Draft]] che non sono solidi.
** Ogni elemento in {{incode|list_bad}} è un'altra lista {{incode|[object, message]}}, dove {{incode|object}} è l'oggetto rilevato non solido, e {{incode|message}} indica il motivo per cui è stato incluso in questo elenco.

Esempio:

{{Code|code=
import FreeCAD, Draft, Arch

p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 0, 0)
baseline = Draft.makeLine(p1, p2)
Wall1 = Arch.makeWall(baseline, length=None, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()

Wall2 = Arch.makeWall(None, length=2000, width=200, height=1000)
FreeCAD.ActiveDocument.recompute()

Circle = Draft.makeCircle(450)
Wire = Draft.makeWire([FreeCAD.Vector(1000, 0, 0), FreeCAD.Vector(1500, 1000, 0), FreeCAD.Vector(2500, -1000, 0)])

list_bad = Arch.check([Wall1, Wall2, Circle, Wire], includehidden=True)
print(list_bad)
}}


{{Docnav/it
|[[Arch_MergeWalls/it|Unisci muri]]
|[[Arch_ToggleIfcBrepFlag/it|Attiva/Disattiva flag IFC Brep]]
|[[Arch_Workbench/it|Arch]]
|IconL=Arch_MergeWalls.svg
|IconR=Arch_ToggleIfcBrepFlag.svg
|IconC=Workbench_Arch.svg
}}

{{Arch Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 13:41, 9 December 2023

Controlla

Posizione nel menu
Arch → Utilità → Controlla
Ambiente
Arch
Avvio veloce
Nessuno
Introdotto nella versione
-
Vedere anche
Chiudi fori

Descrizione

Questo strumento controlla il documento corrente o gli oggetti selezionati alla ricerca di oggetti Part o Arch, che potrebbero dare problemi, poiché la maggior parte delle operazioni del modulo Architettura richiedono oggetti solidi.

Utilizzo

  1. Premere il pulsante Controlla, o ArchUtilità Controlla nel menu principale.

Script

Vedere anche: API di Arch e Nozioni di base sugli script di FreeCAD.

Lo strumento può essere utilizzato nelle macro e dalla console Python tramite la seguente funzione:

list_bad = check(objectslist, includehidden=False)
  • Controlla se gli oggetti dati in objectslist contengono solo solidi.
  • Se includehidden è True include tutti gli oggetti nascosti, altrimenti li esclude dalla ricerca.
  • Restituisce una list_bad, una lista con gli oggetti che non sono derivati da una Part::Feature, o componenti che non sono chiusi, non validi, non contengono solidi o che contengono facce che non fanno parte di alcun solido. Questo è usato per rilevare contorni e profili di Arch o Draft che non sono solidi.
    • Ogni elemento in list_bad è un'altra lista [object, message], dove object è l'oggetto rilevato non solido, e message indica il motivo per cui è stato incluso in questo elenco.

Esempio:

import FreeCAD, Draft, Arch

p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(2000, 0, 0)
baseline = Draft.makeLine(p1, p2)
Wall1 = Arch.makeWall(baseline, length=None, width=150, height=2000)
FreeCAD.ActiveDocument.recompute()

Wall2 = Arch.makeWall(None, length=2000, width=200, height=1000)
FreeCAD.ActiveDocument.recompute()

Circle = Draft.makeCircle(450)
Wire = Draft.makeWire([FreeCAD.Vector(1000, 0, 0), FreeCAD.Vector(1500, 1000, 0), FreeCAD.Vector(2500, -1000, 0)])

list_bad = Arch.check([Wall1, Wall2, Circle, Wire], includehidden=True)
print(list_bad)