Aller au contenu

programmation


curvasud

Messages recommandés

Salut,

 

Voilà, je cherche le moyen d'automatiser une manip: il s'agirait, dans l'idée, de générer en une commande, une manip, la fusion d'éléments linéaires pour aboutir à une seule ligne; la commande creer chaine complexe illustre ma recherche; toutefois, je voulais, par l'écriture de programme, la rendre globale.

 

Merci pour votre attention, arnaud

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

en fait, je voudrais lancer un petit programme, je ne connais pas trop alors peut etre est ce impossible, du type MDL, qui fusionne mes segments de lignes pour en obtenir qu'un seul, mais aussi les segments arcs, bien entendu.

Je voudrais ecrire le script, mais je suis trop debutant, j'ai besoin d'aide.....

 

Merci de votre attention.

Arnaud.

 

 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

C'est vrai, je pense que le MDL estassez complexe, il me semble qu'il faille posseder des ressources en langage C!!!!

Donc, je vais plancher en VB, mais je ne sais pas trop dans quelle direction partir; je fais des recherches, et peut etre te recontacterai pour te demander de l'aide, si tu acceptes!!!!

 

A plus, Arnaud, Toulouse.

Lien vers le commentaire
Partager sur d’autres sites

  • 8 mois après...

Etant inscrit depuis peu

ma réponse est très tardive

voici une solution pour joindre 2 arcs

pour 2 lignes c'est plus long

il faut sélectionner les 2 arcs à jondre puis lancer la macro (v7)

 

Sub main

dim centroid as MbePoint:dim centroid2 as MbePoint

Dim elemSet as new MbeElementSet:Dim setMember as MbeSetMember

Dim elem as New MbeElement:Dim filePos as Long

if elemSet.fromSelectionSet (1) <> MBE_Success then mbemessagebox "pas de selection":exit sub

if elemSet.getfirst(setMember)<> MBE_Success then exit sub

filePos = elem.fromFile(setMember.filePos, setMember.fileNum)

if elem.type=16 then goto arc

mbemessagebox "impossible de traiter la sélection"

arc:

stat=elem.getOrigin(centroid)

ang1#=elem.startAngle:ang11#=elem.sweepAngle

if elemSet.getNext(setMember)<> MBE_Success then mbemessagebox "sélectionnez 2 éléments":exit sub

filePos = elem.fromFile(setMember.filePos, setMember.fileNum)

if elem.type<>16 then mbemessagebox "sélectionnez 2 arcs":exit sub

stat=elem.getOrigin(centroid2)

ang2#=elem.startAngle:ang21#=elem.sweepAngle

if elemSet.getNext(setMember)= MBE_Success then mbemessagebox "sélectionnez 2 éléments uniquement":exit sub

if centroid.x<>centroid2.x and centroid.y<>centroid2.y then mbemessagebox "arcs non concentriques":exit sub

if ang1

if ang1+ang11

end if

if ang1>ang2+ang21 then mbemessagebox "arcs impossibles à joindre":exit sub else ang3#=ang2:ang31#=ang1-ang2+ang11

fin:

mbelocateelement filepos

MbeSendCommand "DELETE ELEMENT "

stat=elemSet.getfirst(setMember)

filePos = elem.fromFile(setMember.filePos, setMember.fileNum)

elem.startAngle=ang3

elem.sweepAngle=ang31

stat=elem.rewrite()

End Sub

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é