Je suis nouveau sur ce forum et tout nouvel utilisateur de FC dont la puissance m'étonne,
toutefois je rencontre un problème que je n'arrive pas à surmonter
malgré le nombre d'essais ; la recherche ne m'ayant pas apporté de solution évidente, je me tourne vers vous.
J'ai réalisé une forme peut être un peu trop complexe que je veux convertir en solide :
- cylindre composé de plusieurs faces extérieures et prépercé d'autant de filetages (30)
Jusque là, pas de problème, la conversion s'opère. C'est ensuite que cela se complique.
- 4 petits tenons cylindriques doivent être inclus à l'intérieur du cylindre primitif.
Leur supperposition par moitié dans la pièce principale fait que la pièce finale est bien 'fermée'.
Quelque soit la méthode d'ajout (en utilisant une conversion intermédiaire ou pas)
j'obtiens les erreurs suivantes :
12:52:41 Traceback (most recent call last):
File "<string>", line 2, in <module>
<class 'Part.OCCError'>: Shape is not a shell
12:52:41 Cannot convert Fusion003 because Shape is not a shell.
Code: Select all
Python 3.8.6+ (heads/3.8-dirty:a12f459ec2, Nov 5 2020, 12:01:10) [MSC v.1927 64 bit (AMD64)] on win32
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> # Gui.Selection.clearSelection()
>>> # Gui.Selection.addSelection('Sans_nom2','Fusion002')
>>> # Gui.Selection.addSelection('Sans_nom2','Cylinder017001')
>>> ### Begin command Part_Fuse
>>> App.activeDocument().addObject("Part::MultiFuse","Fusion003")
>>> App.activeDocument().Fusion003.Shapes = [App.activeDocument().Fusion002,App.activeDocument().Cylinder017001,]
>>> Gui.activeDocument().Fusion002.Visibility=False
>>> Gui.activeDocument().Cylinder017001.Visibility=False
>>> App.getDocument('Sans_nom2').getObject('Fusion003').ViewObject.ShapeColor=getattr(App.getDocument('Sans_nom2').getObject('Fusion002').getLinkedObject(True).ViewObject,'ShapeColor',App.getDocument('Sans_nom2').getObject('Fusion003').ViewObject.ShapeColor)
>>> App.getDocument('Sans_nom2').getObject('Fusion003').ViewObject.DisplayMode=getattr(App.getDocument('Sans_nom2').getObject('Fusion002').getLinkedObject(True).ViewObject,'DisplayMode',App.getDocument('Sans_nom2').getObject('Fusion003').ViewObject.DisplayMode)
>>> App.ActiveDocument.recompute()
>>> ### End command Part_Fuse
>>> # Gui.Selection.clearSelection()
>>> # Gui.Selection.addSelection('Sans_nom2','Fusion003')
>>> ### Begin command Part_MakeSolid
>>> import Part
>>> __s__=App.ActiveDocument.Fusion003.Shape.Faces
>>> __s__=Part.Solid(Part.Shell(__s__))
>>> __o__=App.ActiveDocument.addObject("Part::Feature","Fusion003_solid")
>>> __o__.Label="Fusion003 (Solid)"
>>> __o__.Shape=__s__
>>> del __s__, __o__
>>> ### End command Part_MakeSolid
>>> Gui.runCommand('Std_Copy',0)
Code: Select all
OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24291 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: 7b5e18a0759de778b74d3a5c17eba9cb815035ac
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
Locale: French/France (fr_FR)