dezhopper Posté(e) le 20 mars 2010 Posté(e) le 20 mars 2010 Bonjour, tout d'abord je tenais a remercier les initiateurs (et utilisateurs) de ce site qui me permet depuis quelque mois maintenant, de me lancer dans les automatisations AutoCAD. Je ne suis pas très actifs mais je dois d'abord apprendre avant d'aider. Aussi ma question porte sur l'automatisation de création de table dans une base de donnée. d'insertion d'enregistrement depuis des attributs de block. de création de gabarit de liensde création de liens (en utilisant un gabarit donné) entre des enregistrements de cette table vers des entités type polyligne. Je cherche dans un premier temps des exemples de codes afin de m'inspirer. Aussi je ne comprend pas du tout le fonctionnement des base de données sous autocad. Ou plutot comment autocad "emule" en quelquesorte une BDD. Pourquoi il crée des table temporaire qui même un fois le fichiers dessin fermé et la base (sous acces) nétoyé réapparaisse à la connexion suivante. Si vous avez des idées ou des questions quand à des précisions je serais heureux de vous lire. Merci d'avance. Bon WE DezHopper......
lili2006 Posté(e) le 2 avril 2010 Posté(e) le 2 avril 2010 Bonsoir à toutes et tous, Bienvenue dezhopper J'ai dis une connerie??? Bien sur que non, jamais personne ne le fais,...Enfin, je veux dire il n'y a pas de questions idiotes,... :P C'est surtout que ton message est peut-être passé inaperçu ou bien personne n'as de réponses satisfaisantes à te proposer,... Et, moi non plus d'ailleurs,.. Parles-tu de la connexion BD ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
dezhopper Posté(e) le 22 avril 2010 Auteur Posté(e) le 22 avril 2010 Bonsoir lili 2006, je ne suis passé sur le site depuis cette maxime. Oui je parlais de connexions BD. En effet je cherche à lier automatiquement dèspolylignes, dès création de celles ci des enregistrement d'une table. Mais je n'ai toujours pas trouver d'exemple concret.Aussi depuis mes recherches vont plutot vers l'attachement de données objets (présentes sous map)Auparavant j'avais crée un outils me permettant d'attacher des XDATA en créant une poly, mais ces XDATA sont dificilement modifiables par la suite. Aussi si tu as des exemples d'attachement de données objets en VBA sur des entités autocad, cela peu m'interresser. Bonne soirée DezHopper
lili2006 Posté(e) le 23 avril 2010 Posté(e) le 23 avril 2010 Bonjour à toutes et tous, Aussi si tu as des exemples d'attachement de données objets en VBA sur des entités autocad, cela peu m'interresser. Malheureusement, non ! Désolé,... D'autres ici peu-être ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Patrick_35 Posté(e) le 23 avril 2010 Posté(e) le 23 avril 2010 Salut Il existe plusieurs solutions, mais comme tu as posté ton message en VBA et apparemment, ceux qui maîtrisent ce type de demande seraient plutôt orientés en lisp/vlisp @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
dezhopper Posté(e) le 24 avril 2010 Auteur Posté(e) le 24 avril 2010 Bonjour, je viens de trouver réponse à ma question, alors pour ceux qui verrait le Topic, je laisse le liens et l'exemple de code qui permet de créer des table OD et d'attacher des enregistrement OD à des entités. You can create object data table with AcadMap COMAPI or with Map ObjectARX/ObjectARX .NET API. Using COM API in VBA is a bit easier than ObjectARXAPI. Do to it in VBA code, 1. Start AutoCAD Map and go to VBA IDE; 2. menu "Tools->References..."; 3. Select "AutoCADMap" in "Availavle references"list (which points to [Acad Map folder]\AmVBAPI.dll file. 4. Open Object Browser to browser "AcadMap" objectsin AutoCADMap libaray. You will find ODTable/ODTables. You an also click "?"button for more information. Here is the quote form the Helpdocumnet: The following example creates an object data table and attaches records todrawing objects. 1 Declarevariables. Dim amap As AcadMap Dim acadObj As Object Dim ODfdfs As ODFieldDefs Dim ODfdf As ODFieldDef Dim ODtb As ODTable Dim ODrc As ODRecord 2 Set applicationand project objects. Set amap = ThisDrawing.Application. _ GetInterfaceObject("AutoCADMap.Application") 3 Create the schemafor the object data table. Set ODfdfs =amap.Projects(ThisDrawing).MapUtil.NewODFieldDefs 4 Create fields forobject data. For example, create fields for the name, color, and layer of adrawing object. Specify default values, for example, empty string, AcRed,.andlayer 0, respectively. Add the fields to the table using consecutive indexnumbers. Set ODfdf = ODfdfs.Add("Entity", "Entity name", "",0) Set ODfdf = ODfdfs.Add("Color", "Object color", acRed, 1) Set ODfdf = ODfdfs.Add("Layer", "Object layer", "0", 2) 5 Name the table andtest the uniqueness of the name. If amap.Projects(ThisDrawing).ODTables. _ Item("SampleOD3")Is Nothing Then 6 Register the ODTable in the drawing and specify the type of object data as Xdata. Set ODtb = amap.Projects(ThisDrawing) _ .ODTables.Add("SampleOD3", "SampleXdata", ODfdfs, True) 7 Create a record ofdata with defaults specified in step 4. Set ODrc = ODtb.CreateRecord 8 Loop though eachdrawing object, get its values for the name, color, and layer of the object, andattach the data to the drawing object. For Each acadObj In ThisDrawing.ModelSpace ODrc.Item(0).Value= acadObj.EntityName ODrc.Item(1).Value= acadObj.Color ODrc.Item(2).Value= acadObj.Layer ODrc.AttachTo(acadObj.ObjectID) Next Testing the example Run the example, and enter ADEEDITDATA at the command prompt to see theoutput. To run the code again, change the name of the table from SampleOD toanother name. Aussi dans l'aide de MAP 2009 3D j'ai trouvé un exemple de code mais je suis incapable vu la profondeur de l'aide de retrouver les chemin (mais ca existe)Avant cela dans l'IDE VBA de MAP il faut référencer les biblio Autocad MAP . Bonne journée et bon WE DezHopper
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