Aller au contenu

Obtenir une \"sous région\"


Messages recommandés

Posté(e)

Bonjour a tous,

 

Je viens vous soumettre mon nouveau probleme:

 

je voudrais, qd je clique sur une région trouée (région dont on a enlever une autre région par une opération de soustraction), obtenir directement cette région (donc un des contours) et non pas la région totale (aka région trouée) (je ne veux travailler que sur un seul contour de la région totale)

 

Y a-t-il un moyen d'obtenir ca?

 

Merci a tous/toutes

Posté(e)

ça pourrait être une idée :

sélection de la région par un pts

explode

récupération de la liste des entités

faire une selection par le pts

si l'objet est une ligne

récupération des points de dep et de fin

voir si une ligne (de l'explode) a le départ ou la fin aux même points que que la ligne sélectionné,

faire ainsi de suite pour trouver le contour, effacer le reste

si c'est un cercle

effacer le reste

si...

si..

si...

mais ça fait du boulot surtout si les régions ont des formes bizzaroïde

:o

Nous n’ héritons pas de la terre de nos ancêtres.Nous l’empruntons à nos enfants.

Posté(e)

Je ne comprends pas bien ce que tu voudrais pouvoir sélectionner : la région sans le trou ou le trou.

 

Mais la méthode de winfield doit pouvoir s'adapter en VBA, Explode Method retourne un variant contenant toutes les entités composant la région (sans la supprimer du dessin) AddRegion Method crée une (ou des) région(s) à partir d'un réseau d'entités contenues dans un variant. Si tu récupères les entités de la région avec Explode Method et que tu utlises ce variant avec AddRegion Method tu re-créeras les régions qui ont servi à faire la soustraction, il faut ensuite supprimer les entités et les régions que tu ne voudrais pas garder.

 

En Vlisp (je ne connais pas le VBA) :

 

(setq	AcDoc (vla-get-activedocument (vlax-get-acad-object))
ModSp (vla-get-ModelSpace AcDoc)
Util (vla-get-Utility AcDoc)
)
(vla-getEntity Util 'region 'pt "\nSelectionnez la région: ")
(setq entites (vla-explode region))
(vla-addRegion ModSp entites)
(mapcar 'vla-delete (vlax-safearray->list (vlax-variant-value entites)))] 

 

[Edité le 28/6/2006 par (gile)]

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

Posté(e)

J'avais pensé a ce que tu proposes winfield et justement jvenais voir s'il n'y avait pas qqchose de plus facile :P

 

Merci a vous, jvais tenter de bricoler ca :)

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é