ssd91 Posté(e) le 15 mai 2004 Posté(e) le 15 mai 2004 Bonjour à tous :cool: ,Ce la fait lontemps que je ne suis pas venu sur le site par manque de temps,dsl.Certaines personnes m'ont vu sur le forum LISP mais je me lance aussi en VBA qui m'a l'air un peu compliquer pour le moment.Je voudrais savoir comment créer un bloc dans Autocad en VBA? Et existe-t-il une commande qui permet de calculer directement la distance entre 2 points? :( Dans la documentation que j'ai pu trouver voila ce que j'ai trouver pour la création de bloc: ***********************************************************************sub exemple() dim ptBase as doubledim bloc as acadblockNomBloc as string ptbase(0)=0 : ptbase(1)=0set bloc= ThisDrawing.Block.Add (Ptbase,NomBloc) end sub***********************************************************************Voila on a définit le bloc, ok, mais comment rajouter les éléments pour le mettre dans ce bloc qui est vide pour le moment.J'attend vos réponse avec impatience car je suis vraiment coincé pour le moment!!MerçiBye
chrchat Posté(e) le 18 mai 2004 Posté(e) le 18 mai 2004 Salut ssd91, je te répond par le forum carje n'arrive pas a t'envoyer un message privé je ne pourrais pas t'aider je n'y connais rien en VBA, vraiment désolé CCAD la DAO au service de l'Energie - http://c.cad.free.fr
ssd91 Posté(e) le 28 mai 2004 Auteur Posté(e) le 28 mai 2004 Salut chrchat, je te remercie de m'avoir répondu même si tu ne t'y connais pas...
didier Posté(e) le 28 mai 2004 Posté(e) le 28 mai 2004 salutà mon tour de m'excuser pour mes absences :( mais la vie est surtout faîte de BOULOT :casstet: je n'ai pas compris ce que tu veux faire à propos du blocfaut il CREER UN BLOC, en choisisant des entitésou INSERER UN BLOC existant sur le disque ou dans le fichier ?quant à ton calcul de distance il est résolu ci après : dim point1 as variantdim point2 as variantDim x As Double, y As Double, z As DoubleDim dist As Double point1 = ThisDrawing.Utility.GetPoint (, vbCrLf & "Premier point : ")point2 = ThisDrawing.Utility.GetPoint (point1, vbCrLf & "Second point: ")x = point1(0) - point2(0)y = point1(1) - point2(1)z = point1(2) - point2(2)dist = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2)) amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
dr.loveless Posté(e) le 1 juin 2004 Posté(e) le 1 juin 2004 Salut, pour répondre à ton probleme concernant la création d'un bloc : set objBloc = thisdrawing.blocks.Add(point d'insertion, nom du bloc) Pour créer des entités dans un bloc : objBloc.addline Pt1, Pt2 .... par exemple Par ex si dessous un prog que j'ai choper d'un un boucain : Public Sub BlocParking()dim objBloc as acadBlockdim objcarre as acadLWPolylineDim objTexte as acadTextdim PtInsert(0 to 2) as doubledim PtCarre(0 to 9) as doublePtInsert(0) = 5: PtInsert(1) = 5: Ptinsert(2) = 0PtCarre(0) = 0: ptCarre(1) = 0PtCarre(2) = 0: ptCarre(3) = 10PtCarre(4) = 10: ptCarre(5) = 10PtCarre(6) = 10: ptCarre(7) = 0PtCarre(8) = 0: ptCarre(9) = 0Set objBloc = thisdrawing.blocks.Add(PtInsert, "Parking")Set objcarre = oblBloc.AddLightWeightPolyline(PtCarre)objCarre.Closed = TrueobjCarre.ConstantWidth = 0.5set objTexte.Alignment = acAlignmentMiddleobjTexte.textAlignmentPoint = PtInsertobjTexte.Color = acBlueEnd sub Voilà pour te servir.... En revanche comme je te l'expliquai, c'est sur un coucain, j'ai donc tout retaper, il se peut qu'il y est une erreur de frappe, j'ai regardé mias on n'est jamais à l'avri :D Le DOC
ssd91 Posté(e) le 10 septembre 2004 Auteur Posté(e) le 10 septembre 2004 Je suis vraiment désolé mais je n'ai pas pu venir sur le site depuis lontemps...à cause du BOULOT.Je vous remercie pour vos réponse didier et dr.loveless. Je vais essayé ce soir et je vous tiens au courant au plus vite.Encore merçi et à bienôt.Amicalement
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant