Aller au contenu

PatternScale


Messages recommandés

Bonjour

Voila je dessine un objet avec hachure et un Scale de 10.0

Tout fonctionne bien (trop beau pour être vrais) :D

En regardant le panneau de propriétés tous correspond impec.

Mais le hic, c’est que visuellement il n’a pas applique le scale de 10.0

Il l’a gardé à 1.0, Pourquoi ! Pourquoi ne l’a t’il pas mi a jour :mad:

Voila la partir concernant les archures :

 . . .
. . .
               Dim MyHatch As Hatch = New Hatch()
               RecTablEntity.AppendEntity(MyHatch)
               MyTrans.AddNewlyCreatedDBObject(MyHatch, True)
               MyHatch.SetDatabaseDefaults()
               MyHatch.SetHatchPattern(HatchPatternType.PreDefined, "ANGLE")
               MyHatch.Associative = True
               MyHatch.AppendLoop(HatchLoopTypes.Outermost, ColectionObjet)
               MyHatch.PatternScale = 10.0
               MyHatch.EvaluateHatch(True)
               MyTrans.Commit()
. . .
. . .

Quelqu’un sait il le pourquoi ?

 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

en faisant :

 

MyTrans.AddNewlyCreatedDBObject(MyHatch, True)

L'objet MyHatch n'est plus ouvert en écriture, il faut donc faire ensuite :

 

MyHatch.UpgradeOpen()

pour le ré-ouvrir en écriture, et seulement après ça on peut modifier les propriétés:

 

MyHatch.SetHatchPattern(HatchPatternType.PreDefined, "ANGLE")
MyHatch.Associative = True
MyHatch.AppendLoop(HatchLoopTypes.Outermost, ColectionObjet)
MyHatch.PatternScale = 10.0

puis :

 

MyHatch.DowngradeOpen()

pour le refermer.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Re-salut,

On est bien d’accord c’est comme cela que ca viens dans le code

 . . .
        Dim MyHatch As Hatch = New Hatch()
        RecTablEntity.AppendEntity(MyHatch)
        MyTrans.AddNewlyCreatedDBObject(MyHatch, True)
        MyHatch.SetDatabaseDefaults()
        MyHatch.UpgradeOpen()
        MyHatch.SetHatchPattern(HatchPatternType.PreDefined, "ANGLE")
        MyHatch.Associative = True
        MyHatch.AppendLoop(HatchLoopTypes.Outermost, ColectionObjet)
        MyHatch.PatternScale = 10.0
        MyHatch.DowngradeOpen()
        MyHatch.EvaluateHatch(True)
        MyTrans.Commit()
. . .

Parce que cela ne change rien

 

Lien vers le commentaire
Partager sur d’autres sites

Mais en faisant cela ca fonctionne super bien

 . . .
              Dim MyHatch As Hatch = New Hatch()
               RecTablEntity.AppendEntity(MyHatch)
               MyTrans.AddNewlyCreatedDBObject(MyHatch, True)
               MyHatch.SetDatabaseDefaults()
               MyHatch.SetHatchPattern(HatchPatternType.PreDefined, "ANSI31")
               MyHatch.Associative = True
               MyHatch.AppendLoop(HatchLoopTypes.Outermost, ColectionObjet)
               MyHatch.EvaluateHatch(True)
               MyHatch.PatternScale = 10.0
               MyHatch.SetHatchPattern(MyHatch.PatternType, MyHatch.PatternName)
               MyHatch.EvaluateHatch(True)
               Fonctions.Curlayer(True)
               MyTrans.Commit()
. . .

Lien vers le commentaire
Partager sur d’autres sites

Re,

 

Je viens de faire quelques tests.

 

En fait je me suis fourvoyé (j'ai confondu avec un truc que j'avais fait avec des MPolygon).

 

Il ne semble pas qu'il soit nécessaire de faire UpgradeOpen et DowngradeOpen par contre l'ordre dans lequel on affecte les propriétés est primordial.

 

Ajouter la hachure à l'espace objet (ou papier) et à la transaction ;

puis affecter les propriétés ;

puis spécifier le motif ;

puis spécifier le contour (et évaluer).

 

Hatch hat = new Hatch();
btr.AppendEntity(hat);
tr.AddNewlyCreatedDBObject(hat, true);

hat.SetDatabaseDefaults();
hat.Associative = true;
hat.PatternScale = 10.0;

hat.SetHatchPattern(HatchPatternType.PreDefined, "ANGLE");

hat.AppendLoop(HatchLoopTypes.Outermost, ids);
hat.EvaluateHatch(true);

 

Dim MyHatch As Hatch = New Hatch()
RecTablEntity.AppendEntity(MyHatch)
MyTrans.AddNewlyCreatedDBObject(MyHatch, True)

MyHatch.SetDatabaseDefaults()
MyHatch.Associative = True
MyHatch.PatternScale = 10.0

MyHatch.SetHatchPattern(HatchPatternType.PreDefined, "ANSI31")

MyHatch.AppendLoop(HatchLoopTypes.Outermost, ColectionObjet)
MyHatch.EvaluateHatch(True)

 

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité