Aller au contenu

Goldorak44

Membres
  • Compteur de contenus

    465
  • Inscription

  • Dernière visite

  • Jours gagnés

    11

Tout ce qui a été posté par Goldorak44

  1. C'est le Lisp qui créer le fichier CSV. Ensuite tu peux ouvrir ce fichier avec Excel ou un éditeur de texte (bloc note, notepad,...).
  2. Salut, Bac+2 (DUT) 7 ans d'experience 1800€ net (12 mois) + TR Horaires : 39h 1 semaine sur 2 - 35h la deuxième Poste : Projeteur (ou assistant de chargé d'étude suivant les projets) Lieu : Nantes Dans ma boite un ingénieur sorti de l'école est chargé d'études et gagne mini 2500€ net (en fonction de l'école !!). Ils sont au forfait. Déplacement 1j/s totalement pris en charge par la boite (peu d'avance de frais de la part des gars). voilà !
  3. Goldorak44

    Explosion

    Créer un DWG à partir du pdf que tu leur envoi. Ce logiciel fonctionne très bien dans ce cas : Any PDF to DWG Converter. La version gratuite suffi. ;)
  4. Goldorak44

    FISA R-MEP

    Effectivement, ça prend du temps. Nous avons dédiés 1 personne a temps plein pendant 2 mois pour construire notre bibliothèque CVC/PLB. 1 autre personne c'est concentré sur le gabarit et la création d'add-in perso.
  5. Salut, va dans : barre d'outils AFFICHAGE -> menu affichage (tout en bas) -> affichage des attributs -> Normal ;) Tu étais sur "Inactif" !
  6. Salut, regarde ce sujet : http://through-the-interface.typepad.com/through_the_interface/2010/01/creating-a-nested-layer-group-inside-autocad-using-net.html Cela devrai répondre à tes questions. ;)
  7. Bien vu ! Encore plus simple ! ;)
  8. Salut, dans 3dsmax, je vois bien comment faire mais pas dans Revit !! A part créer une nouvelle famille. Sinon, tu as la possibilité de le faire en post-prod avec photoshop (ou autre). Bon courage ! Edit : Autre méthode ! Tu télécharge un arbre sketchup (Lien). Dans Revit tu créer une nouvelle famille "Conceptual Mass Model Family" et tu importe ton modèle. Ensuite tu charge cette famille dans ton projet.
  9. Merci pour ces explications. ;)
  10. Pour compléter ce que je disais précedemment, voici ma boite de dialogue avec le code associé. Comme dit précédemment, ce que je n'arrive à faire c'est les boutons : Mtext et champ. qui sont en face de la Textbox Defaut. Merci d'avance. :) CreateAttributes.zip
  11. Salut (gile), merci pour ce tuto. Si je ne me trompe pas ,le F# est un langage encore plus orienté objet que le C#. Tu as l'air de bien aimé ce langage !! Qu'a t-il de plus (ou de différent) que le c# ? ;)
  12. Oui, je comprend ! En fait, au départ j'avais créé une boite de dialogue modale (peut être une erreure ?) identique à celle d'AutoCAD (ATTDEF). Le but étant de récréer une boite de dialogue AutoCAD pour en comprendre les différents aspects. J'ai recréé cette boite de dialogue mais je ne lui ai pas associé de code. J'ai créé une commande séparée pour recréer tous les cas possible de la création d'attributs. Chose réussit à 90%. La seule chose que je n'arrive pas à recréer c'est la commande associée au bouton "texte multiple". Voilà le contexte. J'espère que c'est assez clair. :) Merci.
  13. Encore un pb avec cette fameuse commande MTEXT !! Avec le code que j'ai mis ci dessus, lorsque je lance la commande, le programme continu alors que l'utilisateur est encore dans l'éditeur de texte. J'ai essayé plusieurs méthodes (isquiescent ou cette methode) pour lui dire d'attendre que la commande MTEXT soit terminée pour continuer le programme mais rien ne fonctionne correctement.
  14. Goldorak44

    FISA R-MEP

    Salut, dans ma boite nous passons également à REVIT MEP mais sans le pack FISA. Après essais nous n'avons trouvé aucun interêt à ce dernier car les fonctions présentées comme additionnelles existent déjà dans la version de base, seul l'apparence change. Le seul bon point du pack FISA est sa bibliothèque. Nous avons décidé de nous en faire une à nous et ainsi maitriser la conception de toutes les pièces. Sinon concernant les echanges avec les autres sociétées sur un porjet REVIT, le retour est très bon. Synthèse facilité et reprises de plans assez simple. Pour débuter un projet ce qui demande le plus d'attention, c'est la création du gabarit.
  15. Goldorak44

    conduite enterré

    +1 avec (gile).
  16. J'ai avancé sur le sujet et si je positionne le drapeau CommandFlags.ActionMacro sur ma commande ça fonctionne : [CommandMethod("addMtext", CommandFlags.ActionMacro)] static public void AddMtext() { Document acadAdoc = acadAppl.DocumentManager.MdiActiveDocument; Database adocData = acadAdoc.Database; Editor adocEdit = acadAdoc.Editor; using (Transaction dataTran = adocData.TransactionManager.StartOpenCloseTransaction()) { adocEdit.Command("mtext"); dataTran.Commit(); } } :) Pour continuer dans mes questions !!! Comment obtenir la barre d'outils simplifiée (voir message ci dessus pour y accéder) de la commande "mtext" ?
  17. Salut, pour Excel j'utilise cette méthode : (setq appExcel (vlax-get-or-create-object "Excel.Application")); je créer l'application Excel (setq workExcel (vlax-get appExcel 'Workbooks)) (setq fileExcel (vlax-invoke workExcel 'open "c:\\temp\\toto.xls")) ; j'ouvre un fichier (vlax-put appExcel 'visible :vlax-true) ; rend excel visible (setq classExcel (vlax-get fileExcel 'sheets)) ; j'accède au classeur (setq FeuilExcel (vlax-get-property classExcel 'Item 1)) ; j'accède à la feuille 1 (setq lstcells (vlax-get-property FeuilExcel 'cells)) ; j'accède aux cellules (setq cellExcel (vlax-get-property lstcells 'item 1 1)) ; je defini la cellule active (setq strValCell (vlax-variant-value cellExcel)) ; je recupere le contenu de la cellule (vlax-put-property strValCell 'value2 "texte") ; j'écrit "texte" dans la cellule active (vlax-invoke-method fileExcel 'Close :vlax-true) ; je quitte le fichier en sauvegardant - false pour ne pas sauvegarder (vlax-invoke-method appExcel 'Quit) ; je quitte excel (vlax-release-object appExcel) ; je supprime le lien entre excel et mon lisp (gc) ; je libère la mémoire
  18. Bon, après analyse l'approche RunCommand(), que tu propose (Gile), correspond à ce que je souhaite faire. ;) Maintenant, pour aller un peu plus loin, est-ce possible de ne pas rester dans la ligne de commande ? Pour prendre un exemple : Dans la boite de dialogue ATTDEF, lorsque l'on coche la case "ligne multiple" et que l'on clique sur le bouton "..." (situé à coté de la textbox "Par defaut"). la commande "MTEXT" s'execute dans l'espace objet avec une barre d'outils simplifiée. Comment s'y prendre s'y je souhiatais refaire excatement la même chose ?
  19. Merci à vous deux, je vais regarder tout ça et je revien poser les questions !! ;)
  20. Salut Olivier, en lisp, c'est ce que je ferai mais en C#, je me demande s'il n'y a pas des possibilités plus directes. :)
  21. Bonjour, Voici le contexte : je suis dans autocad, je charge ma dll (faite en c#). Je tape ma commande et une boite de dialogue perso s'ouvre. Dans cette boite de dialogue, il y a un bouton. Ce que je souhaiterai : Lorsque je clique sur le bouton, je souhaite lancer une commande native d'autocad et une fois la commande terminée, revenir à ma boite de dialogue. Pour exemple : je clique sur le bouton, la commande "_MTEXT" se lance dans l'espace objet (avec toutes les fonctionnalitées habituelles) et lorsque je clique sur "OK", je revien sur ma boite de dialogue perso avec le contenu du Mtext enregistré dans une variable. Je vois très bien comment créer une entité MTEXT mais lancer une commande Autocad et en récupérer la valeur, je sèche :( . La seule solution que j'ai, est de passer par LispFonction. Est-ce la seule ??
  22. Arf suis-je bête, effectivement, .Quit() est logique. Je m'entêtais avec acadApp.Close() . Pour la variable de type bool, tu confirme ce que j'ai fait. Merci :)
  23. Nouvelle petite question ! Si je créer une instance, lors de la fermeture d'autocad (acadDoc.Close();), Autocad se ferme bien mais dans le gestionnaire de tache, il y a toujours un processus AutoCAD.exe de présent. Comment couper ce processus ? Pour les autres logiciels, j'utilise l'interop et je coupe la liaison via Marchal.FinalRealiseObject. Cela fonctionne si autocad est déjà lancé au moment de l’exécution de mon application mais pas lors de lorsqu'il y a création de l'instance.
  24. Salut, voici un lisp qui qui permet d'injecter des calques dans Autocad avec la couleur et le type de ligne défini dans Excel : (defun C:layersacad (/ ExclAppl WrkbsExcl strFicXLS AwkbExcl AsheExcl CellsAshe intRow intColumn RangAshe strCalque strRepXLS blnWrkbOpen blnExclOpen strLineType intCouleur strCouleur ) (defun CP_:XlsExistWorkbook (WrkbsExcl strFicXLS / intNbWs intW blnExist WrkbExcl strFullName vntRetour ) (setq intNbWs (vlax-get-property WrkbsExcl 'Count)) (setq blnExist nil) (setq intW 1) (repeat intNbWs (setq WrkbExcl (vlax-get-property WrkbsExcl 'Item intW)) (setq strFullName (vlax-get-property WrkbExcl 'FullName)) (cond ((= (strcase strFullName)(strcase strFicXLS)) (setq blnExist WrkbExcl) ) (T ) ) (setq intW (1+ intW)) ) (setq vntRetour blnExist) ) (vl-load-com) (setq blnExclOpen T) (setq ExclAppl (vlax-get-object "Excel.Application")) (if (null ExclAppl) (progn (setq blnExclOpen nil) (setq ExclAppl (vlax-create-object "Excel.Application")) ) ) (setq WrkbsExcl (vlax-get-property ExclAppl 'Workbooks)) (setq strRepXLS "C:\\") (setq strFicXLS (getfiled "Sélection d'un fichier XLS" strRepXLS "XLS" 8)) (cond ((null strFicXLS) ) (T (setq blnWrkbOpen T) (if (null (setq AwkbExcl (CP_:XlsExistWorkbook WrkbsExcl strFicXLS))) (progn (setq blnWrkbOpen nil) (setq AwkbExcl (vlax-invoke-method WrkbsExcl 'Open strFicXLS)) ) ) (setq AsheExcl (vlax-get-property ExclAppl 'ActiveSheet)) (setq CellsAshe (vlax-get-property AsheExcl 'Cells)) (setq intRow 2) (setq intColumn 1) (setq RangAshe (vlax-variant-value (vlax-get-property CellsAshe 'Item intRow intColumn))) (setq strCalque (vlax-variant-value (vlax-get-property RangAshe 'Value))) (setq intColumn 2) (setq RangAshe (vlax-variant-value (vlax-get-property CellsAshe 'Item intRow intColumn))) (setq strCouleur (vlax-variant-value (vlax-get-property RangAshe 'Value))) (setq intColumn 3) (setq RangAshe (vlax-variant-value (vlax-get-property CellsAshe 'Item intRow intColumn))) (setq strLineType (vlax-variant-value (vlax-get-property RangAshe 'Value))) (setvar "CMDECHO" 0) (while strCalque (setq strCouleur (fix strCouleur)) (cond ((null (tblsearch "LAYER" strCalque)) (command "._-LAYER" "_N" strCalque "") ) (T ) ) (command "._-LAYER" "_CO" (fix strCouleur) strCalque "") (cond ((null (tblsearch "LTYPE" strLineType)) (command "._-LINETYPE" "_L" strLineType "ACADISO.LIN" "") ) (T ) ) (command "._-LAYER" "_LT" strLineType strCalque "") (setq intRow (1+ intRow)) (setq intColumn 1) (setq RangAshe (vlax-variant-value (vlax-get-property CellsAshe 'Item intRow intColumn))) (setq strCalque (vlax-variant-value (vlax-get-property RangAshe 'Value))) (setq intColumn 2) (setq RangAshe (vlax-variant-value (vlax-get-property CellsAshe 'Item intRow intColumn))) (setq strCouleur (vlax-variant-value (vlax-get-property RangAshe 'Value))) (setq intColumn 3) (setq RangAshe (vlax-variant-value (vlax-get-property CellsAshe 'Item intRow intColumn))) (setq strLineType (vlax-variant-value (vlax-get-property RangAshe 'Value))) ) (setvar "CMDECHO" 1) (if (null blnWrkbOpen) (progn (vlax-invoke-method AwkbExcl 'Close) ) ) (if (null blnExclOpen) (progn (vlax-invoke-method ExclAppl 'Quit) (vlax-release-object ExclAppl) (gc) ) ) ) ) (princ) ) A adapter en fonction de ton fichier excel ! ;)
  25. Goldorak44

    pluie

    Surtout pas de pluie. Ras le bol. Il a plu non stop pendant 4 mois. Place au soleil pour les 8 prochains mois !
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité