
mick_ig
Membres-
Compteur de contenus
18 -
Inscription
-
Dernière visite
Tout ce qui a été posté par mick_ig
-
Bonjour à tous. J'utilise AddRaster pour insérer une image, puis je lui donne un nom. Code : Set rasterObj = ThisDrawing.ModelSpace.AddRaster(imageName, insertionpoint2, scalefactor, rotationAngle) rasterObj.Name = num Je lui donne un nom car le nom par défaut ne représente rien (OaImgxxxxxxxx) Ce nom est celui qui s'affiche dans la boite de gestion des images. Cela marche très bien avec les versions antérieures à 2008. Problème : Avec la version 2008 d'Autocad, ce nom ne s'affiche pas, c'est le nom par défaut qui reste. Je ne reconnais donc pas mes images. Pourtant si je fais après coup un "liste" de mon image, elle porte le bon nom. Ce nom s'affiche correctement si je recharge chaque image insérée. Quelqu'un a t il une idée sur le problème? A défaut, est il possible de recharger une image? Je ne ne parviens pas à trouver les mots clés pour ça. Pour une image je n'ai trouvé que AddRaster pour l'ajouter. Pour les Xref, il y a Reload et Unload mais pas pour les images. Merci d'avance.
-
Merci sechanbask, C'est sympa de me répondre. Je ne connais pas du tout le lisp. Peux tu me dire comment programmer les évènements?? Je n'ai encore jamais fait. Merci d'avance.
-
ok je te comprends Mais je suis quand meme preneur de la solution si elle existe. Alors si tu l'as merci d'avance.
-
Merci sechanbask, Mais je programme tout en VBA. J'ai lu le lien mais cela ne m'apporte rien de nouveau. Je vais te donner un exemple concret : Sub text_ajout_avant_apres() 'ajoute une chaine de caractère avant un texte et après delete_selectionsets Exemple : Dim s1 As AcadSelectionSet Set s1 = ThisDrawing.SelectionSets.Add("s1") avant = InputBox("Entrez la chaine de caractère à ajouter avant les textes :", "TEXTE AVANT") apres = InputBox("Entrez la chaine de caractère à ajouter après les textes :", "TEXTE APRES") ThisDrawing.Utility.Prompt "Sélectionner les textes à modifier:" s1.SelectOnScreen For i = 0 To s1.Count - 1 If s1.Item(i).ObjectName = "AcDbText" Then s1.Item(i).textString = avant & s1.Item(i).textString & apres Update End If Next i End Sub Donc je sélectionne les objets dans AUTOCAD. (j'ai souvent l'habitude de sélectionner les objets avant de lancer la commande). Je lance la commande. Et l'invite me demande de sélectionner les textes . Je souhaiterais que l'on n'ait plus besoin de resélectionner les objets et que la commande s'éxecute....... Tout simplement comme dans AUTOCAD où l'on peut sélectionner les objets avant ou après la commande. Merci de ton aide.
-
Bonsoir à tous, Exemple simple : Dans AUTOCAD, si je sélectionne des objets et que je lance la commande DEPLACER, la commande prend en compte les objets sélectionnés. Comment faire avec un programme VBA? Quand je demande une sélection , je ne peux pas récupérer les objets sélectionnés, je dois toujours sélectionner les objets après. Avez-vous une idée ? Merci d'avance :
-
Merci à vous deux. Génial ! J'oubliais juste de rappeler Pt1 en saisissant Pt2. Ca change Tout!! Merci encore pour votre aide.
-
Bonsoir à tous, Je réalise un programme dans lequel l'utilisateur doit dessiner une ligne. Simple me direz vous ! Oui mais, je voudrais qu'il puisse la dessiner de manière dynamique, en voyant la ligne au bout de sa souris (comme quand on lance la commande polyligne d'AUTOCAD). J'utilise la commande Get point pour les 2 points puis AddLine mais on ne voit pas la ligne au bout de la souris après le pointage du premier point. La ligne ne s'affiche que brutalement après. L'utlisateur ne peut pas se rendre compte immédiatement s'il a bien dessiné sa ligne. J'ai tenté GetOrientation ou Get Distance(là, la ligne dynamique apparait) mais je ne parviens pas à récupérer le dernier point pointé. Je ne récupère que l'angle ou la distance. Quelqu'un a t il une idée pour m'aider? Merci d'avance,
-
C'est exactement ce que je cherchais.... Tout simplement merci de ton aide. bonne soirée
-
Bonjour à tous, Je voudrais récupérer l'angle de rotation d'une vue. On le voit facilement dans Autocad mais je ne parviens pas à trouver l'information dans les propriétés d'une vue avec VBA. J'en ai besoin car je voudrais dessiner un tableau orienté dans la vue en cours. Par défaut, le tableau se dessine selon le SCU général et est donc tourné. Je voudrais le tourner ensuite en utilisant cet angle. Merci par avance de votre aide toujours si précieuse.
-
Bonjour à tous, Je fais une routine dans laquelle je voudrais que l'utilisateur puisse sélectionner un objet et le faire tourner en temps réel. Je pensais simplement utiliser la commande "Rotate" (exemple : plineObj.Rotate basePoint, rotationAngle) mais la rotation ne se fait pas en temps réel comme dans la commande "rotation" d'autocad. C'est à dire que l'objet ne bouge pas avec la souris, l'uilisateur va cliquer un point et l'objet ne tournera qu'après. Ce n'est pas terrible car on ne peut pas se rendre compte immédiatement de la position future de l'objet. Je veux également éviter d'utiliser la commande rotation d'Autocad via Send Command, car à chaque fois Autocad enregistre une nouvelle commande, ce qui fait sortir du VBA. Avez-vous une solution miracle? Pour exemple dans COVADIS, des commandes permettent des déplacements en temps réel (ex : déplacer + tourner matricule). Comment font-ils? Un autre langage de programmation? J'ai également la même question pour la commande déplacer. Merci de votre aide, impossible pour moi d'aller plus loin .......
-
Salut Winfield, D'où vient la commande OVERKILL, ce n'est pas une commande AUTOCAD. C'est une routine que tu as développée? Merci, A bientôt
-
Merci, Je viens de me rendre compte que dans la bibilothèque .Utility, il y a pas mal de commandes "dynamiques" (Get Orientation, Get Angle, ....). Ca doit me permettre de faire ce que je veux. Merci encore, C'est sympa.
-
Je cherche à programmer sous vba la recherche de l'objet le plus proche d'un point donné. Je sais faire une recherche dans un polygone donné avec SelectByPolygon mais je cherchais à faire une recherche dans un cercle en faisant grandir de plus en plus le rayon jusqu'à trouver quelque chose. C'est compliqué en tous cas. Il y a peut être plus simple! Si vous avez une astuce, je suis preneur. Merci d'avance!
-
Sous Autocad quand on dessine une ligne, on pointe le premier point puis on voit la ligne attachée entre ce point et le curseur et qui bouge en permanence avec le curseur, de manière "dynamique" Je voudrais faire la même chose en vba pour pouvoir choisir une direction que l'on pointe à l'écran. Pour l'instant j'utilise Getpoint pour le point 1 et le point 2. Ensuite AddLine pour dessiner le ligne entre les points 1 et 2. Le problème c'est que je ne vois pas la ligne en temps réel. Il faut attendre la fin de la commande pour voir le résultat. Et bien souvent la ligne ne correspond pas à la direction souhaitée. Auriez vous une idée? Merci d'avance à vous tous
-
Sous Autocad quand on dessine une ligne, on pointe le premier point puis on voit la ligne attachée entre ce point et le curseur et qui bouge en permanence avec le curseur, de manière "dynamique" Je voudrais faire la même chose en vba pour pouvoir choisir une direction que l'on pointe à l'écran. Pour l'instant j'utilise Getpoint pour le point 1 et le point 2. Ensuite AddLine pour dessiner le ligne entre les points 1 et 2. Le problème c'est que je ne vois pas la ligne en temps réel. Il faut attendre la fin de la commande pour voir le résultat. Et bien souvent la ligne ne correspond pas à la direction souhaitée. Auriez vous une idée? Merci d'avance à vous tous
-
C'est sympa, je te remercie. je vais essayer ça. A+
-
Bonjour à tous, Je cherche à reproduire en VBA la commande qui permet d'inactiver un calque en sélectionnant un objet dudit calque (commande existante dans EXPRESS, mais que je ne peux installer sur ma version d'Autocad). J'y suis parvenu mais cela ne focntionne pas aussi bien pour les blocs ayant des attributs dans des calques différents. Question: En sélectionnant un bloc en cliquant sur un attribut, comment puis-je identifier directement cet attribut et donc son calque. Je ne parviens, pour l'instant, qu'à identifier le bloc et son calque d'insertion. Merci d'avance de votre aide. :)
-
Je cherche à programmer en VBA pour obtenir des déplacements et rotations "dynamiques", c'est à dire en temps réel. Avec la commande "move" ou "rotate", l'utilisateur pointe le point de départ et le point d'arrivée mais il ne voit pas l'objet se déplacer lorsu'il bouge la souris. Ce n'est que lorsqu'il a pointé le deuxième point que l'objet s'affiche. Difficile donc d'ajuster précisément l'objet. il faut s' y reprendre à plusieurs fois. De même la commande pour créer une ligne. Cliquez le premier point. CLiquez le deuxième point. La ligne s'affiche après. Même problème. J'aimerais voir la ligne s'afficher dès que l'utilisateur a cliqué le point 1. Comme dans Autocad tout simplement ! Existe-t-il un moyen pour obtenir des mouvements en temps réel. Covadis le fait. Nombre de commandes fonctionnent en dynamique. C'est vraiment bien, on voit ce qu'on fait. Merci de votre réponse.