Je redécouvre FreeCAD

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
papyblaise
Veteran
Posts: 7998
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Je redécouvre FreeCAD

Post by papyblaise »

Qui veut bien prendre le relais pour lui expliquer que dans V.16 IL N'Y A PAS DE BODY
moi perso je raccroche , je vai faire pisser mon poisson rouge , changer l'eau du bocal de mon chat , et ouvrir la porte à mon chien qu'il aille à la chasse aux souris
User avatar
Almisuifre
Posts: 44
Joined: Wed Mar 15, 2017 7:47 pm

Re: Je redécouvre FreeCAD

Post by Almisuifre »

Ok, je me disait...

C'est vrai je suis dur de la feuille parfois :oops:

Bon, je me suis amuser un peu et j'ai quelques interrogations encore.
Petit exemple commun de travaux en bolléens :
https://wetransfer.com/downloads/fa3fba ... 403/b3a050

Sachant que je me retrouve du coup avec ce genre de problème :
Image

Reste a comprendre comment ça peut s'améliorer car là j'ai pas l'impression d'avoir une pièce, mais 2 dans l'arborescence ! Je m'excuse d'avance de vous dire mais c'est totalement illogique... Comme c'est la même pièce elle devrait partager le même body.

Cdt
User avatar
Forthman
Veteran
Posts: 2667
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Je redécouvre FreeCAD

Post by Forthman »

Tu n'es pas obligé d'utiliser l'atelier Part Design.
Tu peux créer ton sketch dans l'atelier Skertcher (donc sans body), et utiliser la fonction de lissage de l'atelier Part :idea:

Mais su tu utilises l'atelier Part Design, n'oublie pas de déplacer la copie du sketch dans le Body
User avatar
Almisuifre
Posts: 44
Joined: Wed Mar 15, 2017 7:47 pm

Re: Je redécouvre FreeCAD

Post by Almisuifre »

C'était donc ça le point d'entrée ! Il fallait donc rester sur sketcher... ok bon, j'ai enfin compris ;)

Du coup... modélisation dans sketcher (a la sauce ancienne) et gestion des protrusions dans part design... Ok, ça me vas.

Du coup, peut-être que ça va devenir pertinent de basculer de la 0.16 vers la 0.18 :mrgreen:

Vous n'avez pas fini d'avoir mes questions.

P.S: Papy, reprends le calme et reviens ici s'il te plait. Cela ne sert à rien de s'énerver pour si peu. ;)

Cdt
User avatar
Almisuifre
Posts: 44
Joined: Wed Mar 15, 2017 7:47 pm

Re: Je redécouvre FreeCAD

Post by Almisuifre »

Alors, j'arrive maintenant a faire mes sketchs. Mais quid du body... Là, je n'arrive pas à le mettre en place depuis le body...

Du coup, ça me bride pas mal cette modification... J'ai rien contre le body mais plus dans son fonctionnement. Il faudra me clarifier ça. ;)

Cdt
User avatar
papyblaise
Veteran
Posts: 7998
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Je redécouvre FreeCAD

Post by papyblaise »

Bon le poisson rouge a bien profité de sa promenade , s'est bien soulager , les urines claires :lol: tout va bien
Je vais essayer de récapépéter encore un coup
Dans V.16 Part et Partdesign étaient pratiquement identique et fonctionnaient pareil
Mais à partir de V.17 ça change : tu as toujours Sketcher et Part et Draft comme dans V.16 et que tu utilises comme dans V.16,
Mais Partdesign a complètement évoluer
Désormais il y a des Body que tu dois activer dés que tu veux bosser avec , y placer un sketch , et faire une extrusion (un Pad) , ensuite si tu veux ajouter ou faire un trou , tu restes dans le même body et tu fais un nouveau sketch , puis un nouveau Pad ou un Pocket (pour un trou) si t'en veux 6 tu utilise la fonction Polar (de Partdesign , pas Draft)
Certaines fonctions vont t'obliger à sortir de Partdesign : par exemple Polar ou soustraction booléen , dans ce cas tu auras 2 pièces : une dans le Body de Partdesign et une résultante de la Cut
Je suppose que tu veux n'en voir qu'une donc tu clik celle que tu veux cacher et lui claque le beignet d'un coup de barre espace (pour la revoir tu rebarre espace)
User avatar
Almisuifre
Posts: 44
Joined: Wed Mar 15, 2017 7:47 pm

Re: Je redécouvre FreeCAD

Post by Almisuifre »

papyblaise wrote: Sat May 23, 2020 10:30 am Bon le poisson rouge a bien profité de sa promenade , s'est bien soulager , les urines claires :lol: tout va bien
Tout va bien, me voilà heureux !
papyblaise wrote: Sat May 23, 2020 10:30 am Je vais essayer de récapépéter encore un coup
Merci ;)
papyblaise wrote: Sat May 23, 2020 10:30 am Dans V.16 Part et Partdesign étaient pratiquement identique et fonctionnaient pareil
Mais à partir de V.17 ça change : tu as toujours Sketcher et Part et Draft comme dans V.16 et que tu utilises comme dans V.16,
Mais Partdesign a complètement évoluer
Ok, j'avais parfaitement compris cela.
papyblaise wrote: Sat May 23, 2020 10:30 am Désormais il y a des Body que tu dois activer dés que tu veux bosser avec , y placer un sketch , et faire une extrusion (un Pad)
Stop ! C'est justement cette partie là qui ne fonctionne pas chez moi... Il ne veux pas d'un nouveau sketch dans le même body et quand il veut il me fait de belles erreurs...

Tien, un exemple. Car c'est plus parlant.
Je crée un body, je place un sketch sur XZ. Je crée un autre sketch dans le même body et je le désactive pour accéder à placement. Je crée ensuite mon loft -> mais pourquoi il sort du body ?
Et quand je veux rajouter un ketch à l'une des faces créé je me fais gentiment insulter (au sens logiciel :lol: ) pour me dire : hey si tu fais pas une copie je suis incapable de rajouter un sketch :o
Image

Mais j'ai peut-être pas la bonne méthode... Par contre, parfois il ne me le fais pas mais c'est rare...

Pour le reste de ton explication je suis d'accord. D'autant plus que l'idée est sympa d'avoir un body. Là je ne reviendrais pas dessus. Je cherche juste à comprendre. Et ça me fais tourner en bourrique :lol: Mais c'est drôle :lol:
En tout cas, ça me fait bien rire ;)

Cdt
User avatar
Forthman
Veteran
Posts: 2667
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Je redécouvre FreeCAD

Post by Forthman »

Dans un Body tu ne peux utiliser que les outils de Part Design :!:

Faudrait peut-être faire un tour sur la documentation parce que là il manque les bases :?
User avatar
papyblaise
Veteran
Posts: 7998
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Je redécouvre FreeCAD

Post by papyblaise »

T'as encore été voir dans Part pour faire le Loft
Please SVP rester dans ton Partdesign et ton body
hey si tu fais pas une copie je suis incapable de rajouter un sketch
Ben oui puisque t'es sorti du body , il faudrait que tu y retournes pour continuer , et cela s’appellera Basefeature
D'où si tu fais le Loft sans sortir de Partdesign , tu pourras continuer sans te faire gauler par la patrouille
Attachments
loft a Almi.PNG
loft a Almi.PNG (27.2 KiB) Viewed 807 times
User avatar
Almisuifre
Posts: 44
Joined: Wed Mar 15, 2017 7:47 pm

Re: Je redécouvre FreeCAD

Post by Almisuifre »

Je veux bien lire la doc si elle était à jour... CF https://wiki.freecadweb.org/Part_Loft/fr
Mwai !

Bon, alors, si je reste dans Part design, pour le coup, si je crée mes deux sketch, le second est désactivé. Je rentre dans le lissage (de part design) et ben il ne se passe rien, et en plus ça me casse le body:

Ici, je suis dans le lissage et aucune sélection ne fonctionne pourtant j'ai bien sélectionné mes sketchs avant. What ?
Image

Du coup, je sort du lissage et le Body est en live... Re What ?
Image

Moi je veux bien passer mon temps à débugger mais j'ai de plus en plus l'impression que chacun y va de sa méthode, et qu'au fond il y a un vide dans cette partie là.

Alors, pour faire le point -> sketcher ne sait pas travailler sans body donc retour à part design.
Part design ne sait pas faire un lissage (Oh !)
Et demain, je ne saurais plus démarrer FreeCAD ? Possible !

Mais encore une fois, mon objectif ici c'est de comprendre ce qui se passe et là, j'ai de plus en plus envie d'ouvrir la console Python pour suivre ce qui se passe ! Et d'ailleurs, on s'la refait avec :o
Image

Code: Select all

Python 3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 11:48:23) [MSC v.1900 64 bit (AMD64)] on win32
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> App.newDocument("Sans nom")
>>> App.setActiveDocument("Sans_nom")
>>> App.ActiveDocument=App.getDocument("Sans_nom")
>>> Gui.ActiveDocument=Gui.getDocument("Sans_nom")
>>> Gui.activeDocument().activeView().viewDefaultOrientation()
>>> App.closeDocument("Sans_nom")
>>> App.setActiveDocument("")
>>> App.ActiveDocument=None
>>> Gui.ActiveDocument=None
>>> App.newDocument("Sans nom")
>>> App.setActiveDocument("Sans_nom")
>>> App.ActiveDocument=App.getDocument("Sans_nom")
>>> Gui.ActiveDocument=Gui.getDocument("Sans_nom")
>>> Gui.activeDocument().activeView().viewDefaultOrientation()
>>> App.activeDocument().addObject('PartDesign::Body','Body')
>>> import PartDesignGui
>>> Gui.activeView().setActiveObject('pdbody', App.activeDocument().Body)
>>> Gui.Selection.clearSelection()
>>> Gui.Selection.addSelection(App.ActiveDocument.Body)
>>> App.ActiveDocument.recompute()
>>> App.activeDocument().Body.newObject('Sketcher::SketchObject','Sketch')
>>> App.activeDocument().Sketch.Support = (App.activeDocument().XZ_Plane, [''])
>>> App.activeDocument().Sketch.MapMode = 'FlatFace'
>>> App.ActiveDocument.recompute()
>>> Gui.activeDocument().setEdit('Sketch')
>>> Gui.activateWorkbench('SketcherWorkbench')
>>> import PartDesignGui
>>> import Show.TempoVis
>>> ActiveSketch = App.ActiveDocument.getObject('Sketch')
>>> tv = Show.TempoVis(App.ActiveDocument)
>>> if ActiveSketch.ViewObject.HideDependent:
>>>   objs = tv.get_all_dependent(ActiveSketch)
>>>   objs = filter(lambda x: not x.TypeId.startswith("TechDraw::"), objs)
>>>   objs = filter(lambda x: not x.TypeId.startswith("Drawing::"), objs)
>>>   tv.hide(objs)
>>> if ActiveSketch.ViewObject.ShowSupport:
>>>   tv.show([ref[0] for ref in ActiveSketch.Support if not ref[0].isDerivedFrom("PartDesign::Plane")])
>>> if ActiveSketch.ViewObject.ShowLinks:
>>>   tv.show([ref[0] for ref in ActiveSketch.ExternalGeometry])
>>> tv.hide(ActiveSketch)
>>> ActiveSketch.ViewObject.TempoVis = tv
>>> del(tv)
>>> 
>>> ActiveSketch = App.ActiveDocument.getObject('Sketch')
>>> if ActiveSketch.ViewObject.RestoreCamera:
>>>   ActiveSketch.ViewObject.TempoVis.saveCamera()
>>> 
>>> App.ActiveDocument.Sketch.addGeometry(Part.Circle(App.Vector(-9.118982,8.813166,0),App.Vector(0,0,1),4.613754),False)
>>> App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Radius',0,4.613754)) 
>>> App.ActiveDocument.Sketch.setDatum(0,App.Units.Quantity('4.000000 mm'))
>>> App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceX',0,3,-9.118982)) 
>>> App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('DistanceY',0,3,8.813166)) 
>>> App.ActiveDocument.Sketch.setDatum(1,App.Units.Quantity('-10.000000 mm'))
>>> App.ActiveDocument.Sketch.setDatum(2,App.Units.Quantity('8.000000 mm'))
>>> Gui.getDocument('Sans_nom').resetEdit()
>>> ActiveSketch = App.ActiveDocument.getObject('Sketch')
>>> tv = ActiveSketch.ViewObject.TempoVis
>>> if tv:
>>>   tv.restore()
>>> ActiveSketch.ViewObject.TempoVis = None
>>> del(tv)
>>> 
>>> Gui.activateWorkbench('PartDesignWorkbench')
>>> App.getDocument('Sans_nom').recompute()
>>> Gui.activeDocument().activeView().viewFront()
>>> App.activeDocument().Body.newObject('Sketcher::SketchObject','Sketch001')
>>> App.activeDocument().Sketch001.Support = (App.activeDocument().XZ_Plane, [''])
>>> App.activeDocument().Sketch001.MapMode = 'FlatFace'
>>> App.ActiveDocument.recompute()
>>> Gui.activeDocument().setEdit('Sketch001')
>>> Gui.activateWorkbench('SketcherWorkbench')
>>> import PartDesignGui
>>> ActiveSketch = App.ActiveDocument.getObject('Sketch001')
>>> tv = Show.TempoVis(App.ActiveDocument)
>>> if ActiveSketch.ViewObject.HideDependent:
>>>   objs = tv.get_all_dependent(ActiveSketch)
>>>   objs = filter(lambda x: not x.TypeId.startswith("TechDraw::"), objs)
>>>   objs = filter(lambda x: not x.TypeId.startswith("Drawing::"), objs)
>>>   tv.hide(objs)
>>> if ActiveSketch.ViewObject.ShowSupport:
>>>   tv.show([ref[0] for ref in ActiveSketch.Support if not ref[0].isDerivedFrom("PartDesign::Plane")])
>>> if ActiveSketch.ViewObject.ShowLinks:
>>>   tv.show([ref[0] for ref in ActiveSketch.ExternalGeometry])
>>> tv.hide(ActiveSketch)
>>> ActiveSketch.ViewObject.TempoVis = tv
>>> del(tv)
>>> 
>>> ActiveSketch = App.ActiveDocument.getObject('Sketch001')
>>> if ActiveSketch.ViewObject.RestoreCamera:
>>>   ActiveSketch.ViewObject.TempoVis.saveCamera()
>>> 
>>> App.ActiveDocument.Sketch001.addGeometry(Part.Circle(App.Vector(-9.174586,7.311869,0),App.Vector(0,0,1),2.715481),False)
>>> App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('Radius',0,2.715481)) 
>>> App.ActiveDocument.Sketch001.setDatum(0,App.Units.Quantity('3.000000 mm'))
>>> App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceX',0,3,-9.174586)) 
>>> App.ActiveDocument.Sketch001.addConstraint(Sketcher.Constraint('DistanceY',0,3,7.311869)) 
>>> App.ActiveDocument.Sketch001.setDatum(1,App.Units.Quantity('-9.000000 mm'))
>>> App.ActiveDocument.Sketch001.setDatum(2,App.Units.Quantity('7.000000 mm'))
>>> Gui.getDocument('Sans_nom').resetEdit()
>>> ActiveSketch = App.ActiveDocument.getObject('Sketch001')
>>> tv = ActiveSketch.ViewObject.TempoVis
>>> if tv:
>>>   tv.restore()
>>> ActiveSketch.ViewObject.TempoVis = None
>>> del(tv)
>>> 
>>> Gui.activateWorkbench('PartDesignWorkbench')
>>> App.getDocument('Sans_nom').recompute()
>>> App.ActiveDocument.Sketch001.MapReversed = False
>>> App.ActiveDocument.Sketch001.Support = [(App.getDocument('Sans_nom').XZ_Plane,'')]
>>> App.ActiveDocument.Sketch001.MapMode = 'Deactivated'
>>> App.ActiveDocument.recompute()
>>> Gui.ActiveDocument.resetEdit()
>>> Gui.activeDocument().activeView().viewRight()
>>> App.getDocument("Sans_nom").Sketch001.Placement=App.Placement(App.Vector(0,-17,0), App.Rotation(0,0,90), App.Vector(0,0,0))
>>> App.getDocument("Sans_nom").Sketch001.Placement=App.Placement(App.Vector(0,-17,0), App.Rotation(0,0,90), App.Vector(0,0,0))
>>> App.activeDocument().Body.newObject("PartDesign::AdditiveLoft","AdditiveLoft")
>>> App.activeDocument().AdditiveLoft.Profile = App.activeDocument().Sketch
>>> App.ActiveDocument.recompute()
>>> Gui.activeDocument().hide("Sketch")
>>> App.ActiveDocument.recompute()
>>> Gui.ActiveDocument.AdditiveLoft.ShapeColor=Gui.ActiveDocument.Body.ShapeColor
>>> Gui.ActiveDocument.AdditiveLoft.LineColor=Gui.ActiveDocument.Body.LineColor
>>> Gui.ActiveDocument.AdditiveLoft.PointColor=Gui.ActiveDocument.Body.PointColor
>>> Gui.ActiveDocument.AdditiveLoft.Transparency=Gui.ActiveDocument.Body.Transparency
>>> Gui.ActiveDocument.AdditiveLoft.DisplayMode=Gui.ActiveDocument.Body.DisplayMode
>>> Gui.activeDocument().setEdit('AdditiveLoft', 0)
>>> Gui.Selection.clearSelection()
>>> Gui.activeDocument().resetEdit()
>>> 
Voilà voilu :)

Cdt
Locked