Maxence DELANNOY
Membres-
Compteur de contenus
140 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Maxence DELANNOY
-
Pour lire l'url : (geturl (car (entsel))) Pour la définir : (seturl (car (entsel)) "http://www.google.fr") Tu peux aussi utiliser l'API ActiveX : (vla-add (vla-get-hyperlinks (vlax-ename->vla-object (car (entsel)))) "http://www.google.fr")
-
Programmer AutoCAD LT en .NET
Maxence DELANNOY a répondu à un sujet dans ObjectARX/DBX, C++, .NET, RealDWG
Si tu as accès à ADN, voici la position officielle d'Autodesk : http://adn.autodesk.com/adn/servlet/index?siteID=4814862&id=5442578. En bref : un utilisateur de LT n'est pas autorisé à utiliser des compléments (c'est dans le SLA) et la licence accompagnant ObjectARX indique que ce dernier ne peut pas être utilisé pour développer sur LT. -
Finalement, si c'est possible. Il faut utiliser l'API ActiveX : http://adndevblog.typepad.com/autocad/2012/05/autolisp-example-set-then-model-or-paperspace-background-color.html Attention, il manque un appel à (vl-load-com) au départ.
-
Changer la couleur du fond sans passer par la boite de dialogue Options, ce n'est pas aussi facile que ça en a l'air. Je ne pense pas qu'il y a une variable système. Comme l'information est stockée dans le profil utilisateur, tu pourrais y arriver en créant 2 profils et en basculant de l'un à l'autre, mais il n'y a pas de commande pour ça et pas de variable système non plus (il y a CPROFILE mais elle est en lecture seule). Pour ne pas que la boite de dialogue s'affiche lors de SAUVEIMG, normalement il faudrait mettre FILEDIA à 0. Mais SAUVEIMG ne tient pas compte de FILEDIA. Par contre tu peux utiliser SAUVEBMP, PNGOUT ou JPGOUT qui prennent en compte FILEDIA.
-
Supprimer les formatages des mtextes
Maxence DELANNOY a répondu à un(e) sujet de (gile) dans ObjectARX/DBX, C++, .NET, RealDWG
Le code suivant ne suffit-il pas ? mt.Contents = mt.Text; D'après la documentation de la propriété MText.Text : -
utilisation d'une methode non managée
Maxence DELANNOY a répondu à un(e) sujet de GEGEMATIC dans ObjectARX/DBX, C++, .NET, RealDWG
Non, je ne pense pas. Oui c'est ça. -
utilisation d'une methode non managée
Maxence DELANNOY a répondu à un(e) sujet de GEGEMATIC dans ObjectARX/DBX, C++, .NET, RealDWG
Sur AutoCAD 2013, la propriété BlockTableRecord.IsFromOverlayReference est en lecture/écriture, mais pas sur les versions antérieures. Tu dois spécifier le point d'entrée, car la casse de ta méthode est différente entre la version C++ (setIsFromOverlayReference) et ta version VB.NET (SetIsFromOverlayReference) et tu dois utiliser le nom décoré de la méthode (quelque chose comme "?setIsFromOverlayReference@@...". Voir http://through-the-interface.typepad.com/through_the_interface/2006/07/calling_objecta.html Ensuite je ne suis pas un expert du P/Invoke, mais je pense que tu dois créer une méthode statique (Shared en VB) qui prend en 1er argument un IntPtr et en 2ème un booléen. Pour l'appeler tu passes la propriété UnmanagedObject de ton objet BlockTableRecord en 1er argument. -
Afficher l'image d'un bloc dans un UserForme
Maxence DELANNOY a répondu à un(e) sujet de TREDEZJ dans VBA et VB
Effectivement. L'alternative c'est d'exporter l'image de ton bloc : http://www.cadtutor.net/forum/showthread.php?22961-Dialog-preview-image-of-block. C'est du bricolage, mais c'est tout ce que permet VBA. En .NET, tu as une propriété BlockTableRecord.PreviewIcon qui te permets d'accéder directement aux miniatures tel qu'elles sont affichées dans l'interface utilisateur d'AutoCAD : http://through-the-interface.typepad.com/through_the_interface/2011/11/generating-preview-images-for-all-blocks-in-an-autocad-drawing-using-net.html -
Afficher l'image d'un bloc dans un UserForme
Maxence DELANNOY a répondu à un(e) sujet de TREDEZJ dans VBA et VB
Il faut utiliser un ActiveX qui s'appelle AutoCAD DwgThumbnail Control (DWGThumbnail.ocx). Tu trouveras plus d'infos ici : http://acadplus.free.fr/mb030209a.htm -
Argument pour un dll
Maxence DELANNOY a répondu à un(e) sujet de PhilBat dans ObjectARX/DBX, C++, .NET, RealDWG
string user1 = Application.GetSystemVariable("USER1"); -
Argument pour un dll
Maxence DELANNOY a répondu à un(e) sujet de PhilBat dans ObjectARX/DBX, C++, .NET, RealDWG
Tu ne peux pas passer d'argument à une commande. Tu dois demander des saisies à l'utilisateur via les différentes méthodes Get* de la classe Editor : GetKeywords pour un booléen (avec Oui/Non comme mots clés) ou GetString pour une chaîne de caractères. -
Non, ce n'est pas possible via l'API.
-
Dessiner des cotations, annotations entre deux points
Maxence DELANNOY a répondu à un(e) sujet de mryapados dans ObjectARX/DBX, C++, .NET, RealDWG
Si tu veux que la cote soit associative, tu ne peux pas le faire en .NET car la classe AcDbDimAssoc qui sert à faire ça n'a pas d'équivalent en .NET. Tu ne peux le faire qu'en C++/ObjectARX (et encore je n'ai pas trouvé d'exemple de code qui le fait). Tout ce que j'ai c'est un bout de code C++ pour afficher les entités associées à une cote : http://adndevblog.typepad.com/autocad/2012/06/get-the-entitiessubentitiesgeometry-an-associative-dimension-is-associated-to.html?cid=6a0167607c2431970b016767f088ea970b Il y a aussi la commande _DIMREASSOCIATE -
Dessiner des cotations, annotations entre deux points
Maxence DELANNOY a répondu à un(e) sujet de mryapados dans ObjectARX/DBX, C++, .NET, RealDWG
Il faut utiliser les classes RotatedDimension (dimensions horizontales et verticales) et AlignedDimension (cotes alignées). -
IntersectWith
Maxence DELANNOY a répondu à un(e) sujet de PhilBat dans ObjectARX/DBX, C++, .NET, RealDWG
En .NET, on peut tester les extrémités : l1.StartPoint.IsEqualTo(l2.StartPoint) || l1.StartPoint.IsEqualTo(l2.EndPoint) || l1.EndPoint.IsEqualTo(l2.StartPoint) || l1.EndPoint.IsEqualTo(l2.EndPoint) IsEqualTo permet de faire une comparaison approximative des coordonnées, en ignorant les erreurs d'arrondis du à l'utilisation du type double. -
Question de couleurs
Maxence DELANNOY a répondu à un(e) sujet de PhilBat dans ObjectARX/DBX, C++, .NET, RealDWG
Tu peux utiliser la classe Autodesk.AutoCAD.Windows.ColorDialog pour afficher une boite de dialogue standard de sélection des couleurs. Désolé, mais le code est en C#. ColorDialog cd = new ColorDialog(); cd.SetDialogTabs(ColorDialog.ColorTabs.ACITab | ColorDialog.ColorTabs.TrueColorTab | ColorDialog.ColorTabs.ColorBookTab); cd.IncludeByBlockByLayer = true; cd.Color = null; cd.ShowDialog(); Si tu utilise un comboBox, l'utilisateur ne pourra pas sélectionner une couleur vraie (+ de 16 millions de possibilités). Cependant, tu peux le faire si tu te contentes des couleurs indexées. Pour obtenir la liste des couleurs, tu boucles de 1 (rouge) à 255 (blanc) et tu crées un objet couleur avec la méthode FromColorIndex : for (short colorIndex = 1; colorIndex <= 255; colorIndex++) { using (Color color = Color.FromColorIndex(ColorMethod.ByAci, colorIndex)) { // color.ColorValue correspond à une couleur .NET } } Ensuite, tu peux utiliser le mode OwnerDraw du combo pour afficher un rectangle rempli avec la couleur. Tu as aussi un article sur the Swamp : http://www.theswamp.org/index.php?topic=30270.0 et sur Through the Interface : http://through-the-interface.typepad.com/through_the_interface/2008/03/implementing-yo.html -
Supprimer références de blocs
Maxence DELANNOY a répondu à un(e) sujet de mryapados dans ObjectARX/DBX, C++, .NET, RealDWG
Un petit tr.Commit(); à la fin, ce serait pas inutile ;) -
Boucle For Each
Maxence DELANNOY a répondu à un(e) sujet de PhilBat dans ObjectARX/DBX, C++, .NET, RealDWG
Il faut remplacer ta boucle For Each par une boucle For classique -
Super, ça a corrigé mon problème avec le ruban qui ne mettait pas à jour.
-
Première incursion dans le C#
Maxence DELANNOY a répondu à un(e) sujet de krunch dans ObjectARX/DBX, C++, .NET, RealDWG
Apparemment tu as lié ta dll à la version x64 de AcMgd (celle qui se trouve dans C:\ObjectARX 2010\inc-x64). Donc VS te propose la version x64 du constructeur, qui prends certainement en paramètre un pointeur 64 bits. Mais tu l'exécutes dans un AutoCAD 32 bits, c'est donc la version x86 qui est appelée, avec un pointeur 32 bits en paramètre. Il te suffit donc de remplacer ta référence à C:\ObjectARX 2010\inc-x64\AcMgd.dll par C:\ObjectARX 2010\inc-win32\AcMgd.dll. Si tu veux supporter les OS 32 et 64 bits, tu devras compiler 2 dll différentes, une en x86 liée aux références inc-win32 et une en x64 liée aux références inc-x64. Le problème se pose pour AutoCAD 2009 et 2010, car quelques fonctions ont des signatures différentes entre x86 et x64. -
commande avec ctrl, alt ,shift, f12, f11, ... +...
Maxence DELANNOY a répondu à un(e) sujet de gtrghtr dans LISP et Visual LISP
http://docs.autodesk.com/ACD/2013/FRA/index.html?url=files/GUID-9970E91B-A4F5-405C-99C1-46AD804A8858.htm,topicNumber=d30e479985 -
Modifier des hachures dans un dwg via un fichier excel
Maxence DELANNOY a répondu à un(e) sujet de DPB6804 dans VBA et VB
Oui mais il faut développer un programme spécifique où un lien serait établi entre les entités hachures et les lignes du classeur Excel. -
aide object arx dans visual studio
Maxence DELANNOY a répondu à un(e) sujet de GEGEMATIC dans ObjectARX/DBX, C++, .NET, RealDWG
J'ai réussi à installer la version 2013. Mais pour que ça fonctionne bien, j'ai du réparer Microsoft Help Viewer 1.1 via le Panneau de configuration > Programmes > Programmes et fonctionnalités. -
Visual Studio 2012 Express
Maxence DELANNOY a répondu à un(e) sujet de (gile) dans ObjectARX/DBX, C++, .NET, RealDWG
C'est un bon point que tous les langages soient regroupés. Avec les précédentes éditions, c'était pénible d'avoir à installer un logiciel pour chaque. Il me semble que l'explorateur de solutions a été aussi amélioré non ? Je crois qu'on peut accéder directement aux membres des classes. -
Je te conseille Mercurial car il est plus simple que Git (bon attention le versionning ça reste toujours extrémement compliqué) et est mieux intégré à Windows. Et tu peux te créer un compte sur https://bitbucket.org/ pour avoir des dépôts distants. Par contre pour les binaires, Mercurial (comme les autres d'ailleurs) n'est pas du tout adapté. Cependant il existe des extensions comme BFiles (http://mercurial.selenic.com/wiki/BfilesExtension) qui permettent de les gérer plus ou moins, mais en général j'évite de mettre des fichiers non texte dans le dépôt. Le client le plus utilisé est TortoiseHg : http://tortoisehg.bitbucket.org/
