Bonjour,
Je suis tout nouveau sur FreeCAD (version 0.19). J'apprends à m'en servir depuis quelques jours.
J'ai créé un projet très simple pour m'entraîner et je suis face à un problème.
J'ai deux objets distincts (2 body) : un parallélépipède et un cylindre qui le traverse. J'aimerais que le cylindre soit placé à un endroit précis du parallélépipède, en utilisant des contraintes. Par exemple, qu'il soit placé à X millimètres de l'arête gauche (ou droite) et à Y millimètres de celle du haut (ou bas), afin que si je venais à modifier la taille du premier objet, le placement du second s'adapte automatiquement.
Le soucis, c'est que je ne sais pas comment je pourrais m'y prendre. J'ai passé pas mal de temps sur les forums pour tenter de trouver un problème similaire, mais je peine à comprendre.
J'avais pensé à créer une esquisse et à utiliser la fonction "Créer une arête liée à une géométrie externe", mais comme il s'agit de deux objets distincts, cela ne fonctionne pas.
Le fait de créer deux objets distincts est voulu, pour de futurs projets (assemblage de plusieurs objets pour en former un autre, plus gros).
Merci.
============================================
OS: Linux Mint 20 (X-Cinnamon/cinnamon)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.22262 (Git) AppImage
Build type: Release
Branch: master
Hash: f56825c79f11b75648a7a0dcc8a9f52bb4574e61
Python version: 3.8.5
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: French/France (fr_FR)
Placer un body par rapport à un autre (avec des contraintes par rapport aux arêtes)
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Re: Placer un body par rapport à un autre (avec des contraintes par rapport aux arêtes)
welcome to FreeCAD
You can use Expressions to define values of properties, including placement.
Jim
Translated by Google.
bienvenue sur FreeCAD
Vous pouvez utiliser des expressions pour définir les valeurs des propriétés, y compris le placement.
Jim
Traduit par google.
https://wiki.freecadweb.org/Expressions/fr
You can use Expressions to define values of properties, including placement.
Jim
Translated by Google.
bienvenue sur FreeCAD
Vous pouvez utiliser des expressions pour définir les valeurs des propriétés, y compris le placement.
Jim
Traduit par google.
https://wiki.freecadweb.org/Expressions/fr
Re: Placer un body par rapport à un autre (avec des contraintes par rapport aux arêtes)
Solution1:
utiliser un sketch indépendant qui repère la position et taille du rectangle, puis reprendre la géométrie des repères avec un binder ou shapbinder.
Solution2:
reprendre directement la forme du rectangle avec un binder.
solution3:
utiliser un repère local + point (datumpoint), puis attacher un sketch sur ce point.
utiliser un sketch indépendant qui repère la position et taille du rectangle, puis reprendre la géométrie des repères avec un binder ou shapbinder.
Solution2:
reprendre directement la forme du rectangle avec un binder.
solution3:
utiliser un repère local + point (datumpoint), puis attacher un sketch sur ce point.
- Attachments
-
- solution3.FCStd
- (17.48 KiB) Downloaded 51 times
-
- solution2.FCStd
- (18.41 KiB) Downloaded 56 times
-
- solution1.FCStd
- (19.56 KiB) Downloaded 58 times
Re: Placer un body par rapport à un autre (avec des contraintes par rapport aux arêtes)
Merci pour votre réponse.GlouGlou wrote: ↑Sat Aug 22, 2020 12:31 pm Solution1:
utiliser un sketch indépendant qui repère la position et taille du rectangle, puis reprendre la géométrie des repères avec un binder ou shapbinder.
Solution2:
reprendre directement la forme du rectangle avec un binder.
solution3:
utiliser un repère local + point (datumpoint), puis attacher un sketch sur ce point.
J'ai essayé de reproduire la première solution (ça fonctionne impec') à partir de zéro pour commencer, mais je n'y parviens pas. Comment s'y prend-on concrètement ? Je suis un gros débutant avec ce logiciel.
EDIT:
Ah... J'ai parlé trop vite. Je viens enfin d'arriver à quelque chose. Je commence à mieux comprendre le principe.
Re: Placer un body par rapport à un autre (avec des contraintes par rapport aux arêtes)
Bonjour,
Je reviens vers vous avec un problème à peu près similaire. Mais je peine à réussir malgré de plusieurs tentatives.
J'ai cette fois-ci deux modèles de base : une porte et une poignée. Ils me servent pour créer d'autres objets et peuvent être modifiés.
Je veux créer une porte avec sa poignée, qui est l'objet final, en me servant des modèles de base. Je désire, en utilisant des contraintes, que la poignée (en fait, le milieu de la base du cylindre) soit située à un endroit précis de la porte, par rapport à la gauche et par rapport au bas de la porte.
Si je modifie les dimensions du modèle de base (porte ou poignée), l'objet final doit s'adapter en conséquence, en replaçant correctement la poignée par rapport aux contraintes que je définis.
Le soucis, c'est que par rapport à mon problème précédent (en utilisant la solution 2 post #3), c'est que cette fois-ci, l'objet à placer n'est pas créé par un pad, mais qu'il s'agit d'un body. Et là, je sèche, je ne vois pas comment faire.
Auriez-vous une solution ? Merci.
Je reviens vers vous avec un problème à peu près similaire. Mais je peine à réussir malgré de plusieurs tentatives.
J'ai cette fois-ci deux modèles de base : une porte et une poignée. Ils me servent pour créer d'autres objets et peuvent être modifiés.
Je veux créer une porte avec sa poignée, qui est l'objet final, en me servant des modèles de base. Je désire, en utilisant des contraintes, que la poignée (en fait, le milieu de la base du cylindre) soit située à un endroit précis de la porte, par rapport à la gauche et par rapport au bas de la porte.
Si je modifie les dimensions du modèle de base (porte ou poignée), l'objet final doit s'adapter en conséquence, en replaçant correctement la poignée par rapport aux contraintes que je définis.
Le soucis, c'est que par rapport à mon problème précédent (en utilisant la solution 2 post #3), c'est que cette fois-ci, l'objet à placer n'est pas créé par un pad, mais qu'il s'agit d'un body. Et là, je sèche, je ne vois pas comment faire.
Auriez-vous une solution ? Merci.
Re: Placer un body par rapport à un autre (avec des contraintes par rapport aux arêtes)
Salut,
De la lecture par là : Assembly/fr
De la lecture par là : Assembly/fr
Re: Placer un body par rapport à un autre (avec des contraintes par rapport aux arêtes)
J'ai pas saisi tout le problème, mais binder peut récupérer soit la forme du body entier, soit la forme d'une fonction.
Dans les deux cas, on peut redessiner un sketch à partir du binder (ou shapebinder)
Re: Placer un body par rapport à un autre (avec des contraintes par rapport aux arêtes)
Salut ,
On peut utiliser des contraintes definies dans des Sketchs ou des propriétés d'objets dans les formules de positionement pour les rendre dynamiques.
Pour illustrer ma suggestion, j'ai crée un body Porte et un Body Poignée.
La Poignée est positionné en fonction des caracteristiques de la Porte, a savoir :
Positionnement en X => Epaisseur de la Porte par le formule = <<01-Pad-Porte_Base>>.Length / -2
Positionnement en Y => Axe Poigné Vertical à 100 mm du coté Gauche de la Porte = <<01-Porte_Base>>.Constraints.Width / -2 + 100mm
Positionnement en Z => Axe Poigné Horizontale à 800mm du bas de la Porte = <<01-Porte_Base>>.Constraints.Height / -2 + 800mm
Voici le lien sur la documentation sur le référencement d'objets :
https://wiki.freecadweb.org/Expressions/fr
Exemple dans Freecad à récupérer ici :
http://dl.free.fr/fYoPo5Dr6
Ciao !
On peut utiliser des contraintes definies dans des Sketchs ou des propriétés d'objets dans les formules de positionement pour les rendre dynamiques.
Pour illustrer ma suggestion, j'ai crée un body Porte et un Body Poignée.
La Poignée est positionné en fonction des caracteristiques de la Porte, a savoir :
Positionnement en X => Epaisseur de la Porte par le formule = <<01-Pad-Porte_Base>>.Length / -2
Positionnement en Y => Axe Poigné Vertical à 100 mm du coté Gauche de la Porte = <<01-Porte_Base>>.Constraints.Width / -2 + 100mm
Positionnement en Z => Axe Poigné Horizontale à 800mm du bas de la Porte = <<01-Porte_Base>>.Constraints.Height / -2 + 800mm
Voici le lien sur la documentation sur le référencement d'objets :
https://wiki.freecadweb.org/Expressions/fr
Exemple dans Freecad à récupérer ici :
http://dl.free.fr/fYoPo5Dr6
Ciao !