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
-
Insertion de blocs à partir d'un CSV
Maxence DELANNOY a répondu à un(e) sujet de zebzeb dans LISP et Visual LISP
Tu utilises une variable nommée angle qui écrase la fonction angle d'AutoLISP. Renomme la ang par exemple. Et quand tu fais : (setq Lpt ("" "0.5,-0.5" "1,-0.5" "0.5,-1" "1,-1" "1.5,-1")) Il faut préfixer ta liste d'un guillemet simple (') car sinon elle est évaluée directement. Donc : (setq Lpt '("" "0.5,-0.5" "1,-0.5" "0.5,-1" "1,-1" "1.5,-1")) Et quantité, il y a un u entre le q et le a... ;) -
http://msdn.microsoft.com/fr-fr/library/office/ee691831(v=office.14).aspx (en Français)
-
Chez moi le programme a l'air de fonctionner, je peux lancer la macro Korb et il me trace une trajectoire. A priori il n'utilise rien d'exotique donc il devrait fonctionner sans modification.
-
Dans la version 2014 d'AutoCAD, VBA est passé en version 7.1 avec support 64 bits. Si le programme fait des appels à l'API Windows ou s'il utilise des contrôles OCX non standard, il devra être modifié pour fonctionner. Ci-contre lien expliquant ce qui est à modifier pour le support 64 bits quand on appelle l'API Windows : http://msdn.microsoft.com/en-us/library/office/gg264421(v=office.15).aspx
-
[Résolu] Impossible de charger OpenDCL
Maxence DELANNOY a répondu à un(e) sujet de viande dans ObjectARX/DBX, C++, .NET, RealDWG
AutoCAD 2014 c'est la release R19.1 donc c'est obligatoirement OpenDCL.x64.19.arx que tu dois charger. Les autres versions sont incompatibles sur le plan binaire, donc ce n'est pas la peine d'essayer de les charger. -
[Résolu] OpenDCL x64 19 arx (autoCAD 2014)
Maxence DELANNOY a répondu à un(e) sujet de viande dans ObjectARX/DBX, C++, .NET, RealDWG
http://sourceforge.net/projects/opendcl/files/Stable/Archive/ -
récupération et exploitation de données
Maxence DELANNOY a répondu à un(e) sujet de fmathis dans LISP et Visual LISP
On peut développer des applications qui viennent s'intégrer dans AutoCAD 360, mais on ne peut pas intégrer AutoCAD 360 dans une autre application. Il est peut être possible d'utiliser Teigha : http://www.opendesign.com/. Ils supportent iOS. TurboViewer de IMSI l'utilise apparemment pour lire et afficher les DWG. -
Version de DLL ICSharpCode.SharpZipLib
Maxence DELANNOY a répondu à un(e) sujet de Olivier Eckmann dans ObjectARX/DBX, C++, .NET, RealDWG
Tu peux utiliser ILMerge pour fusionner SharpZipLib et ta dll. De cette façon, tu n'auras pas de conflit avec l'autre version de SharpZipLib. Renommer la dll doit marcher aussi je pense car le FQN ne sera plus le même. -
[résolu] modifier famille d'arbre Revit
Maxence DELANNOY a répondu à un(e) sujet de x_all dans Revit
Pour créer un nouveau RPC, tu dois utiliser le RPC Creator. Plus d'infos ici : http://whatrevitwants.blogspot.fr/2013/07/baking-your-own-free-rpc-content-and.html -
[résolu] modifier famille d'arbre Revit
Maxence DELANNOY a répondu à un(e) sujet de x_all dans Revit
C'est une famille RPC. Tu peux acquérir du contenu supplémentaire chez ArchiVision (https://www.archvision.com) et créer un nouveau type d'arbre en partant du gabarit Famille RPC Métrique.rft. Dans ce gabarit, tu vas trouver la silhouette d'un personnage. Mais en cliquant sur Type de famille, tu peux modifier l'apparence de rendu et choisir un arbre. La doc pour : 1. Création d'une famille RPC : http://help.autodesk.com/view/RVT/2015/FRA/?guid=GUID-0802F659-D427-4F01-A69B-941C9F198EAA 2. Configurer Revit pour du contenu RPC supplémentaire : http://help.autodesk.com/view/RVT/2015/FRA/?guid=GUID-5889A9F9-2BD1-4736-80E3-1D8C5A171C9B -
La version d'essai en Français est également disponible sur le site US d'Autodesk (mais pas encore sur autodesk.fr), même si le titre de la page indique le contraire...
-
Boites de dialogues Autocad
Maxence DELANNOY a répondu à un(e) sujet de Goldorak44 dans ObjectARX/DBX, C++, .NET, RealDWG
Pour lancer la commande, tu dois utiliser SendCommand (API COM) en positionnant le drapeau CommandFlags.Session sur ta commande C# pour que l'exécution soit synchrone.Ou tu peux P/Invoker acedCmd : [DllImport("accore.dll", CallingConvention = CallingConvention.Cdecl)] static extern int acedCmd(IntPtr resbuf); public static PromptStatus Command(params object[] args) { if (Application.DocumentManager.IsApplicationContext) throw new ApplicationException("La commande ne peut pas être exécutée dans le contexte de l'application."); int stat; using (var buffer = new ResultBuffer()) { foreach (object o in args) { if (o is ObjectId) buffer.Add(new TypedValue((int) LispDataType.ObjectId, o)); else if (o is Point2d) buffer.Add(new TypedValue((int) LispDataType.Point2d, o)); else if (o is Point3d) buffer.Add(new TypedValue((int) LispDataType.Point3d, o)); else if (o is Int32) buffer.Add(new TypedValue((int) LispDataType.Int32, o)); else buffer.Add(new TypedValue((int) LispDataType.Text, o)); } stat = acedCmd(buffer.UnmanagedObject); } return (PromptStatus) stat; } Pour accéder ensuite à ton objet MText, dans l'espace de nom Autodesk.AutoCAD.Internal.Utils, il y a une méthode EntLast qui te renvoie l'ID du dernier objet créé. -
Tous ces formats contiennent de la géométrie. dwg, dxf : AutoCAD, igs c'est un vieux format non géré par Revit, wrl ça doit être du VRML et stp certainement du STEP. Il faut récupérer le DWG en espérant qu'il contiennent bien de la vraie 3D au format SAT. Là tu devrais pouvoir l'importer dans Revit. Mais le mieux serait de créer une famille à partir de zéro.
-
Palette de normalisation de plan
Maxence DELANNOY a répondu à un(e) sujet de Olivier Eckmann dans ObjectARX/DBX, C++, .NET, RealDWG
Le mieux ce serait d'utiliser WPF. Mais tu peux aussi utiliser un WebBrowser, il y a plusieurs événements qui te permettent de détecter les clics sur les liens : http://stackoverflow.com/questions/9804105/overriding-the-webbrowser-click-event. -
Projet d'étude :Calcul automatisé du poids d'aciers par éléments de structure
Maxence DELANNOY a répondu à un(e) sujet de ArnaudCru dans LISP et Visual LISP
Pour récupérer les propriétés du bloc dynamique, tu dois utiliser la fonction : vla-GetDynamicBlockProperties Après pour le reste, en recherchant sur Google des bouts de code et en les assemblant, tu devrais réussir à sortir quelque chose. -
Piloter AutoCAD depuis VBA Excel
Maxence DELANNOY a répondu à un(e) sujet de DenisHen dans VBA et VB
Tu peux piloter AutoCAD (version complète) depuis Excel via l'API COM d'AutoCAD en "out-of-process". Il faut ajouter la référence à AutoCAD (AutoCAD 20xx Type Library) dans ton projet VBA Excel, puis tu peux te connecter avec AutoCAD et utiliser l'API pour créer des entités. Public Sub StartAutoCAD() Dim acadApp As AcadApplication On Error Resume Next ' Essaie de se connecter à une instance d'AutoCAD en cours d'exécution Set acadApp = GetObject(, "AutoCAD.Application") If Err Then Err.Clear ' Pas d'AutoCAD en cours d'exécution, on en démarre un Set acadApp = CreateObject("AutoCAD.Application") If Err Then MsgBox Err.Description Exit Sub End If End If On Error GoTo 0 MsgBox "Now running " + acadApp.Name + " version " + acadApp.Version ' On affiche la fenêtre sinon elle reste invisible acadApp.Visible = True ' Crée une ligne du point 0,0 au point 10,10 Dim p1(2) As Double Dim p2(2) As Double p2(0) = 10: p2(1) = 10 acadApp.ActiveDocument.ModelSpace.AddLine p1, p2 End Sub La documentation de l'API était fournie avec AutoCAD jusqu'à la version 2010 au moins mais dans les dernières versions, elle est en ligne par défaut et elle est difficile à trouver (ils ont eu la bonne idée chez Autodesk de créer une aide sans table des matières ! : http://docs.autodesk.com/ACD/2014/FRA/index.html) -
Verrouillage du document avec un dialogue non modal
Maxence DELANNOY a répondu à un(e) sujet de Olivier Eckmann dans ObjectARX/DBX, C++, .NET, RealDWG
Le catch { tr.Abort(); } ne sert à rien puisque si une exception survient, ton code ne passe jamais sur la ligne tr.Commit et donc le tr.Abort est automatiquement appelé lorsqu'on sort du bloc using. En plus faire un catch qui attrape toutes les exceptions, c'est une très mauvaise idée. -
Chargement automatique des DLLs .NET
Maxence DELANNOY a répondu à un(e) sujet de (gile) dans ObjectARX/DBX, C++, .NET, RealDWG
J'ajouterai que si la DLL est téléchargée depuis Internet, Windows peut la bloquer pour des raisons de sécurité. On a alors une exception de type System.IO.FileLoadException quand on la charge avec NETLOAD. Pour résoudre le problème, il suffit d'ouvrir une fenêtre d'explorateur Windows, d'aller dans le répertoire où la dll se trouve et de cliquer avec le bouton droit de la souris sur cette dernière pour afficher la fenêtre des propriétés. Si la dll est bloquée, il doit y avoir en bas à droite un bouton Débloquer. Il suffit de cliquer sur ce bouton pour débloquer le fichier. Et aussi : une DLL ne peut pas être déchargée une fois qu'elle a été chargée (http://through-the-interface.typepad.com/through_the_interface/2008/09/tired-of-not-be.html). Si on la charge deux fois, le deuxième appel de NETLOAD ne fait rien. -
Modèle C# ou VB pour Visual Studio Express
Maxence DELANNOY a répondu à un(e) sujet de (gile) dans ObjectARX/DBX, C++, .NET, RealDWG
La fonction sera disponible dans Visual Studio 2013 en 64 bits : http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/26/debugging-support-for-64-bit-edit-and-continue-in-visual-studio-2013.aspx -
[Résolu] C# Dictionnaire et UNDO
Maxence DELANNOY a répondu à un(e) sujet de Olivier Eckmann dans ObjectARX/DBX, C++, .NET, RealDWG
Après une annulation, le noeud de ton dictionnaire devrait avoir un ObjectId avec la propriété Erased à true. Je ne suis pas sur de comprendre exactement ce que tu veux faire, mais quand on annule une commande, les objets qui ont été créés durant cette commande sont effacés. Donc leur ObjectId a la propriété Erased à true et il faut utiliser la version de Transaction.GetObject qui prend en troisième argument un booléen qui permet d'ouvrir les objets effacés : DBObject dbo = tr.GetObject(id, OpenMode.ForRead, true); -
Tu dois insérer une fenêtre standard, ensuite tu cliques dessus, bouton droit pour afficher le menu contextuel et tu choisis Modifier la famille. Une fois que tu es dans l'éditeur de famille, tu l'enregistres sous un autre nom. Ensuite, tu dois modifier ta fenêtre pour incliner le linteau. Le cadre de la fenêtre est un balayage, il te faut donc modifier le chemin. Tu dois aussi modifier la découpe. Pour finir, tu remplaces la fenêtre standard par ta fenêtre modifiée. Pour savoir comment fonctionne les familles, je te conseille de télécharger le guide des familles : http://wikihelp.autodesk.com/Revit/fra/2012/Help/0000-Manuel_d0/0325-Cr%C3%A9ation325/1279-Familles1279/1280-Pr%C3%A9senta1280/1284-Guide_de1284 si tu ne l'as pas déjà fait.
-
Pour la liste des différences (en Anglais) : http://seilercadsupport.wordpress.com/2012/09/05/autodesk-is-releasing-revit-lt/
-
Ils ont la même finalité : produire des plans. Donc la comparaison ne me choque pas.
-
Comparaison de performance
Maxence DELANNOY a répondu à un(e) sujet de vannes dans LISP et Visual LISP
Non, tu ne peux pas tirer des conclusions comme ça. Ça dépends de ce que le programme fait. Il faut prendre le chemin le plus court, la version numéro 1 ici et si tu as des problèmes de performances, tu cherches une autre solution. Ça ne sert à rien de perdre 1 heure pour gagner 100 ms. -
Comparaison de performance
Maxence DELANNOY a répondu à un(e) sujet de vannes dans LISP et Visual LISP
Le numéro 1 est plus court ;) et donc le plus facile à comprendre et le moins coûteux en terme de développement. Il ne fonctionnera que sur une version française car tu as utilisé CALQUE au lieu de _LAYER. Le 1 et le 2 sont à 100% AutoLISP donc il fonctionneront aussi sur Mac à priori ou sur un clone d'AutoCAD type IntelliCAD. Le 3 utilise l'API ActiveX donc il ne fonctionnera que sur une plateforme Windows (hors AutoCAD OEM). Pour les performances, c'est impossible à déterminer sauf à faire un benchmark. Et ça n'a aucun intérêt sur un code tel que celui là.
