Gestion contrainte qui met une esquisse "hors objet"

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
NuitsDeChine
Posts: 12
Joined: Mon May 10, 2021 6:56 pm

Gestion contrainte qui met une esquisse "hors objet"

Post by NuitsDeChine »

Bonjour,

Je dois certainement mal faire les choses quelque part. Mais je ne vois pas où.
Je veux accrocher une esquisse sur une géométrie externe. Un truc tout bête, par exemple un perçage a X mm du bord extérieur d'une pièce. Jusque là, ça va :
Selection_005.png
Selection_005.png (6.63 KiB) Viewed 1092 times
Selection_003.png
Selection_003.png (4.27 KiB) Viewed 1092 times
Selection_001.png
Selection_001.png (3.7 KiB) Viewed 1092 times
Si je diminue "suffisamment" la taille de pièce sous-jacente, par contre, je retrouve mon esquisse à l'extérieur de la pièce sous-jacente :
Selection_006.png
Selection_006.png (6.47 KiB) Viewed 1092 times
Selection_007.png
Selection_007.png (4.57 KiB) Viewed 1092 times
Qun'est-ce que je fais mal ?

Merci d'avance,
-- Sarg
User avatar
papyblaise
Veteran
Posts: 7872
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Gestion contrainte qui met une esquisse "hors objet"

Post by papyblaise »

c'est une méchanceté qui arrive parfois où la contrainte se retourne
par exemple si tu fais 2 cercles concentriques l'un cotés de son diamètre , l'autre par l'écart entre les 2 si tu change le diamètre d'une façon importe , l'écart se retourne
je ne sais pas nommer celà ni s'il y a une profilaxie
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Gestion contrainte qui met une esquisse "hors objet"

Post by Shalmeneser »

C'est un problème de 'flip'.
Ton second sketch correspond à 2 solutions mathématiques. Ces solution correctes mathématiquement ne satisfont pas obligatoirement l'utilisateur. :mrgreen:

Il faut éviter de modifier brutalement les valeurs de dimensions et on peut essayer d'atteindre la dimension finale en plusieurs étapes d'écart suffisamment faible.
On peut aussi rigidifier le sketch pour restreindre les solutions à une seule solution unique. Cela demande plus de travail.
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Gestion contrainte qui met une esquisse "hors objet"

Post by Shalmeneser »

1) Fournir un fichier à chaque occasion.
2) Ne pas sketcher sur une face : TNP/fr
3) Nommer la largeur totale LL. Calculer la longueur 5 de la façon suivante : (Expressions/fr)

Code: Select all

Sketch.Constraints.LL / 2 - 5mm
Attachments
anti-flip_SHALM.FCStd
(11.97 KiB) Downloaded 35 times
User avatar
-alex-
Veteran
Posts: 1856
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: Gestion contrainte qui met une esquisse "hors objet"

Post by -alex- »

NuitsDeChine wrote: Sat Feb 04, 2023 4:10 pm Si je diminue "suffisamment" la taille de pièce sous-jacente, par contre, je retrouve mon esquisse à l'extérieur de la pièce sous-jacente
Tu ne fais rien de mal, c'est un problème due au solveur DogLeg utilisé par défaut dans Sketcher.
L'utilisation du solveur Levenberg-Marquardt règle ce problème. C'est le solveur que j'ai choisi depuis des années.
Pour changer de solveur il faut activer l'option "Montrer la section Contrôle avancé du solveur" dans Sketcher_Preferences/fr, puis changer le solveur dans les contrôles avancés du solveur de la boîte de dialogue d'esquisse Sketcher_Dialog/fr
A une époque, malgré le changement de solveur, le solveur DogLeg était tout de même utilisé hors de l'édition d'esquisse.
Cela a été corrigé avec la résolution du problème issue #3658.
Du coup le problème signalé par @flachyjoe ici viewtopic.php?t=68903#p598329 est peut-être résolu.
JankoHrasko
Posts: 14
Joined: Sun Jan 29, 2023 1:23 pm

Re: Gestion contrainte qui met une esquisse "hors objet"

Post by JankoHrasko »

Il serait bien de donner la version de Freecad de la part de NuitsDeChine.
J'ai beau de refaire point par point ce qu'il décrit dans son message, je n'arrive pas à casser le body à la fin... !

Code: Select all

OS: macOS 10.16
Word size of FreeCAD: 64-bit
Version: 0.20.2.29603 (Git)
Build type: Release
Branch: (HEAD detached at 0.20.2)
Hash: 930dd9a76203a3260b1e6256c70c1c3cad8c5cb8
Python 3.10.8, Qt 5.15.4, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.3
Locale: C/Default (C)
Installed mods: 
  * A2plus 0.4.60i
  * fasteners 0.4.24
  * ExplodedAssembly
  * Help 1.0.3
  * Assembly4 0.12.4
  * Assembly3 0.11.4
User avatar
Bernard19
Posts: 887
Joined: Sun Feb 20, 2022 7:16 pm

Re: Gestion contrainte qui met une esquisse "hors objet"

Post by Bernard19 »

@NuitsDeChine
Pourquoi ne pas avoir mis le perçage avec le premier sketch?
J'essaie de produire le problème mais impossible
v021.31709

@Alex
Personnellement ce post me permet d'apprendre l'existence d'un autre solveur dans Sketcher.
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Gestion contrainte qui met une esquisse "hors objet"

Post by Shalmeneser »

Bernard19 wrote: Sun Feb 05, 2023 5:38 pm Pourquoi ne pas avoir mis le perçage avec le premier sketch ?
Le problème de retournement de sketch ('flip' en anglais) serait le même si on continue à se référer au côté droit : il y a toujours deux solutions mathématiques possibles.
La solution de rigidifier le sketch est souvent assez difficile à mettre en œuvre car elle demande des astuces de géométries ou de dimensionnement.

Une solution à la con serait de dessiner 2 cercles symétriques du bord droit : l'un trouant la pièce et l'autre trouant le vide. Mais pas dans le premier sketch d'un body pour respecter la règle du solide unique.
User avatar
2cv001
Posts: 484
Joined: Wed Jan 01, 2020 9:30 am

Re: Gestion contrainte qui met une esquisse "hors objet"

Post by 2cv001 »

Effectivement, ce genre de chose m'est arrivé, pour des choses un peu plus complexes, et du coup, maintenant, lorsque je change une cote de manière importante, je sauve avant et je change la cote petit à petit comme dit plus haut.
Cela dit, je n'ai pas non plus réussi à reproduire son problème, mais je suis en version LinkDaily.

Code: Select all

OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 2022.1128.26244 +5318 (Git)
Build type: Release
Branch: LinkDaily
Hash: d45d221edcc7a757eb4e4eb638da0db5ed2759aa
Python version: 3.8.10
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.6.2
Locale: French/France (fr_FR)
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
NuitsDeChine
Posts: 12
Joined: Mon May 10, 2021 6:56 pm

Re: Gestion contrainte qui met une esquisse "hors objet"

Post by NuitsDeChine »

Bonjour,

Répondre près de 5 mois après certaines questions n'est pas terrible de ma part, mais pour la complétude de la discussion...
Bernard19 wrote: Sun Feb 05, 2023 5:38 pm @NuitsDeChine
Pourquoi ne pas avoir mis le perçage avec le premier sketch?
J'essaie de produire le problème mais impossible
v021.31709
C'était juste pour présenter un exemple simple du problème.

JankoHrasko wrote: Sun Feb 05, 2023 3:27 pm Il serait bien de donner la version de Freecad de la part de NuitsDeChine.
J'ai beau de refaire point par point ce qu'il décrit dans son message, je n'arrive pas à casser le body à la fin... !
J'ai oublié, en effet.

Code: Select all

OS: Gentoo Linux
Word size of FreeCAD: 64-bit
Version: 0.20.2.Unknown
Build type: RelWithDebInfo
Python 3.10.11, Qt 5.15.9, Coin 4.0.0, Vtk 9.2.5, OCC 7.6.3
Locale: English/United Kingdom (en_GB)
Installed mods: 
  * fasteners 0.4.54
  * ExplodedAssembly
  * Assembly4 0.12.5
  * fcgear 1.0.0
  * freecad.gears 1.0.0
Post Reply