
Circus
Membres-
Compteur de contenus
932 -
Inscription
-
Dernière visite
Tout ce qui a été posté par Circus
-
Extraction d'attributs sur blocs dynamiques
Circus a répondu à un(e) sujet de Circus dans AutoCAD 2014
J'avoue de toute façon ne pas être motivé la demande ( celle de mes collègues ), car j'ai de gros doute sur l'idée d'associer une référence à un bloc,entre mise à jour de la référence ou copier/coller depuis un ancien plan... Je pense les orienter vers une extraction brut d'un plan vers Excel et associer les blocs à une base de donnée qui elle sera toujours à jour. Merci pour votre aide. -
Extraction d'attributs sur blocs dynamiques
Circus a répondu à un(e) sujet de Circus dans AutoCAD 2014
J'avais bien compris l'abréviation, le lisp c'était une blague. Bref, Non je ne peux pas changer le nom des visibilités par une référence, un exemple mon collègue utilise des blocs du type pour ses schémas électrique, un bloc symbole disjoncteur avec 6 visibilités...il faudrait connaitre toutes les références, c'est impossible. L'attribut fonctionne bien, mais c'est l'extract donnée qui est lourd. -
Extraction d'attributs sur blocs dynamiques
Circus a répondu à un(e) sujet de Circus dans AutoCAD 2014
Salut Steven, ça faisait longtemps :) Merci pour vos réponses. bavmorda1, je ne trouve pas la commande DTC, c'est un lisp perso ? Steven, tu as bien compris mais je n'ai pas été clair en faite. L'attribut c'est la référence de pièce que l'on stock J'ai un bloc interrupteur : visibilité 1 = non étanche / attribut = EL01-0051 visibilité 2 = étanche / attribut = EL01-0056 Cdt -
Bonjour, J'aimerai récupérer les valeurs (dans un tableau)des attributs dans des blocs dynamiques. Selon le jeux de visibilité, la valeur est différente. L’idée est de pouvoir extraire une nomenclature de ce que nous avons dessiné ( jusque-là ça va : on sait donner une référence à un bloc), où ça se complique c’est que à chaque visibilité différentes du bloc correspond une référence d’article différent. Le problème se résume à : - Comment donner une référence à une visibilité de bloc dynamique ? - Comment récupérer cette information dans un tableau ( sans passer par Excel ce serait trop facile ;)) J'arrive avec Extract-Données à récupérer, selon le jeux de visibilité, la référence (l'attribut). Seulement j'ai autant de colonne que j'ai d'attributs, donc avoir à passer par Excel et une macro pour réduire à une seul colonne. Si vous avez des idées. Merci d'avance. Cdt Circus
-
Trés bien, merci pour l'info Steven ! Cdt Circus
-
Bonjour, Je profite du sujet ouvert pour posé une question concernant location et versions. Peut on louer des versions Autocad Architecture 2014 ? Merci d'avance.
-
calcul du cout d'un assemblage en automatique
Circus a répondu à un(e) sujet de Roger_BERNERD dans Creo (ex. Pro/Engineer)
"OUPS ! Message a supprimer, j'ai pas fait gaffe que le sujet n'était pas autocad...désolé" Bonsoir, J'ai une solution à proposer si les informations que tu recherches apparaissent lorsque tu tapes la commande LISTE Si oui, il savis d'une extraction avec un lisp dans un fichier texte, puis un copie coller des lignes dans excel avec une macro afin de créer une nomenclature. D'ailleur je remercie les membres de CADXP pour l'aide sur le lisp et ceux d'Excel-Pratique pour l'aide sur les macros. Le lisp (defun c:Listing (/ #ss i) (cond ((setq #ss (ssget)) (vl-file-delete (getvar "LOGFILENAME")) (setvar 'logfilemode 1) (repeat (setq i (sslength #ss)) (command "_.list" (ssname #ss (setq i (1- i))) "")) (setvar "LOGFILEMODE" 0) (startapp "Notepad" (getvar 'logfilename)) ) ) (princ) ) Commande : Listing et le fichier excel Listing Excel Apres l'import des données (dans "liste de base") cliquer sur "Listing" (dans nomenclature) C'est à adapter, je pourrais aider si besoin, car je n'ai que 2 colonnes. la désignation et la quantité. Pour ma part c'est trés lourd le traitement, beaucoup de données et surement des macros améliorer, Excel patine mais ca fonctionne. J'ai un doute sur la version du .xls, je regarderai demain au travail si c'est la bonne version. Cdt Circus -
2 choix dans un macro.
Circus a répondu à un(e) sujet de baba0000000000 dans Personnalisation, macros, DIESEL
Bonjour, Pour la commande je finirai par ;^C^C Pour le reste je ne sais pas. Cdt -
Bonjour, avec un fichier joint ca serait plus efficace. Cdt Edit : En effet une polyligne avec une epaisseur...cela semble logique.
-
Recherche Technicien Dessinateur BE région Nantaise
Circus a posté un sujet dans Emploi, monde du travail
Constructeur de Bâtiments Modulaires en structure métallique, situé en région Nantaise, concevant et produisant tous types de bâtiments de stockage, base vie, tertiaires et sociaux à l'attention du secteur public, privé et de l'industrie, recherche pour son Bureau d'Etude : Un Technicien Dessinateur Technique en Bureau d'Etudes (H/F) Votre Mission : Sous la responsabilité du responsable du bureau d'études, vous évoluerez dans une petite équipe. Vous réaliserez des études projets liés aux affaires que nos Clients nous confient en Construction Modulaire. Vous êtes garant des études dont vous avez la charge dans le respect des exigences de nos clients, de la réglementation en vigueur et du planning. Vous trouvez les solutions techniques optimales en lien avec le service commercial et les acteurs opérationnels de l'entreprise. Vous faites le lien avec les entreprises sous traitances qui réalisent les lots complémentaires à notre prestation et intégrez leurs plans dans nos dossiers en réalisant les recollements. Vous serez en charge d’élaborer les dossiers d’exécution : - Analyser la demande commerciale (plan, descriptif), ajuster la faisabilité. - Réaliser les plans de détails de soudure, menuiserie, plomberie - Réaliser les plans de calepinage (bardage, cloisons, revêtement de sols) - Réaliser les nomenclatures techniques (débit, pliage, ...) pour la production et les achats - Réaliser les fiches de préparation de chantier - Contrôler les dossiers de production des collègues - Transmettre les données techniques aux autres services Votre Profil : Profil pour ce poste (H/F), vous avez réussi une expérience de 2 à 5 ans, dans des postes similaires idéalement dans le domaine du modulaire ou Bâtiment industrialisé. Vous êtes reconnu(e) pour vos compétences techniques et humaines. Vous connaissez et maîtrisez les solutions techniques et règlementations liées à la construction et aux autres secteurs connexes. Vos qualités sont : écoute, engagement, rigueur, autonomie, créativité, force de proposition, esprit d'équipe, esprit d'analyse et de synthèse. Vous maîtrisez les logiciels AUTOCAD / EXCEL idéalement INVENTOR Vous désirez, à présent, rejoindre une entreprise en pleine expansion et participer à son développement pour exprimer pleinement vos compétences techniques. Conditions d'emploi : Type de contrat : CDI Lieu de la mission : HERIC (44) Rémunération à définir selon profil et expérience Merci de nous contacter directement par mail : recrutementsolfab@gmail.com -
[Résolu] Lisp sur la base de la commande Liste
Circus a répondu à un(e) sujet de Circus dans LISP et Visual LISP
Merci pour les liens. Je vais me concentrer sur le vba avec excel pour le moment ^^ -
Sans vouloir être désagréable...T'as tout a fait raison Martial56 ! raz le bol d'autocad archi, d'autodesk en faite !! Au passage merci à Patrick_35 pour le lisp FOG ! le passage du 2009 au 2014...quand tu clic trop vite sur l'onglet suivant tu retournes sur le précédent...c'est bien beau un version nouvelle chaque année avec des bugs nouveau jamais corrigé... Ma parano me dit que...plein de chose....mais à la réfléxion j'ai rais...
-
[Résolu] Lisp sur la base de la commande Liste
Circus a répondu à un(e) sujet de Circus dans LISP et Visual LISP
Ahah, oui j'avais fais plusieurs tests, ca m'explique pourquoi des fois il fallait encore faire enter, mais pas grave ! on va dire que c'est un détail acceptable :) (si une solution pour contourner pour eviter est posssible je suis pas contre, bien entendu, mais celle actuelle j'en suis satisfait ! donc bon...Merci à nouveau) Par contre il ne faut pas etre est épileptiqie avec ce lisp XD , je le suis mais pas avec ce genre ( strombo ou autre ^^ ) Vous parlez de DXF... j'ai honte de demander c'est quoi ? Pour ma part je serait plutot vba...d'autocad à excel sans passer par un autre language! Il n'est pas facile de trouver du support ACA/VB et c'est dommmage. Actuelement la seul chose vba sur ACA que j'ai réussi c'est un beforesave -> purger les blocs En tout cas merci ! Circus -
[Résolu] Lisp sur la base de la commande Liste
Circus a répondu à un(e) sujet de Circus dans LISP et Visual LISP
Merci beaucoup ! Merci VDH-Bruno le lisp fonctionne nikel ! Merci bonuscad pour ta réponse mais en effet je préfère l'extraction de la manière LISTE. Il me reste a améliorer mon code vba, qui est lourd et avec quelques bugs ^^ Cdt Circus -
[Résolu] Lisp sur la base de la commande Liste
Circus a répondu à un(e) sujet de Circus dans LISP et Visual LISP
Bonjour, Pas d'idées pour m'éviter de rester appuyer sur entrée pendant 2 minutes ? De mon coté mon code vba progresse bien ( même si il est un peu moche ^^) Première partie: nettoyage du fichier log dans excel Option Compare Text ' Pas de différence minuscule/majuscule Sub nettoyer() Sheets("Liste de base").Select Application.ScreenUpdating = False derlig = Range("A65536").End(xlUp).Row For Ligne = derlig To 1 Step -1 If Not Range("A" & Ligne) Like "*REFERENCE DE BLOC Calque:*" And Not Range("A" & Ligne) Like "*Nom du bloc:*" _ And Not Range("A" & Ligne) Like "*en point,*" And Not Range("A" & Ligne) Like "*Visibilité:*" _ And Not Range("A" & Ligne) Like "*Distance:*" And Not Range("A" & Ligne) Like "*Distance1:*" _ And Not Range("A" & Ligne) Like "*AEC_DOOR*" And Not Range("A" & Ligne) Like "*AEC_WINDOW*" _ And Not Range("A" & Ligne) Like "*Largeur :*" And Not Range("A" & Ligne) Like "*Hauteur :*" _ And Not Range("A" & Ligne) Like "*Style de porte*" And Not Range("A" & Ligne) Like "*Style de fenêtre*" Then Rows(Ligne).Delete End If Next Ligne Application.ScreenUpdating = True End Sub Deuxième partie: Listing Sub Nomencla2() '------------------------ Copy d'une feuil à l'autre Application.ScreenUpdating = False Sheets("Nomenclature").Select derligsup = Range("A65536").End(xlUp).Row Range("A1", "I" & derligsup).Select Selection.ClearContents Sheets("Liste de Base").Select derlig = Range("A65536").End(xlUp).Row Sheets("Liste de Base").Range("A" & 1, "A" & derlig).Copy Sheets("Nomenclature").Range("A2") '------------------------ prépa nomenclature Sheets("Nomenclature").Select Range("A1").Value = "Nom du bloc" Range("B1").Value = "Jeux de Visibilité" Range("C1").Value = "Nom Finale" Range("D1").Value = "Qté" Range("E1").Value = "Coordonnée" Range("F1").Value = "Calque" Range("G1").Value = "Distance" Range("H1").Value = "Distance1" Range("A1:H1").Select Selection.AutoFilter '------------------------ remplissage colonne For Ligne = 2 To derlig '--Calque--' Range("A" & Ligne).Select If Left(Range("A" & Ligne), 26) = "REFERENCE DE BLOC Calque:" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 28) ActiveCell = Left(ActiveCell, Len(ActiveCell) - 1) Range("A" & Ligne).Select Selection.Copy Range("F" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne).Select Selection.Delete Shift:=xlUp '--Nom du bloc--' Range("A" & Ligne).Select If Left(Range("A" & Ligne), 12) = "Nom du bloc:" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 14) ActiveCell = Left(ActiveCell, Len(ActiveCell) - 1) End If '--Coordonnée--' If Left(Range("A" & Ligne + 1), 9) = "en point," Then Range("A" & Ligne + 1).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 10) Range("A" & Ligne + 1).Select Selection.Copy Range("E" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne + 1).EntireRow.Delete End If '--Visibilité--' If Left(Range("A" & Ligne + 1), 11) = "Visibilité:" Then Range("A" & Ligne + 1).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 12) Range("A" & Ligne + 1).Select Selection.Copy Range("B" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne + 1).EntireRow.Delete End If '--Distance--' If Left(Range("A" & Ligne + 1), 9) = "Distance:" Then Range("A" & Ligne + 1).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 9) Range("A" & Ligne + 1).Select Selection.Copy Range("G" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne + 1).EntireRow.Delete End If '--Distance1--' If Left(Range("A" & Ligne + 1), 10) = "Distance1:" Then Range("A" & Ligne + 1).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 10) Range("A" & Ligne + 1).Select Selection.Copy Range("H" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne + 1).EntireRow.Delete End If End If '---------------------------PORTE-------------------------' '--CalquePorte--' Range("A" & Ligne).Select If Left(Range("A" & Ligne), 17) = "AEC_DOOR Calque:" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 19) ActiveCell = Left(ActiveCell, Len(ActiveCell) - 1) Range("A" & Ligne).Select Selection.Copy Range("F" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne).Select Selection.Delete Shift:=xlUp '--DistanceLargeur--' If Left(Range("A" & Ligne), 9) = "Largeur :" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 9) Range("A" & Ligne).Select Selection.Copy Range("G" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne).Select Selection.Delete Shift:=xlUp End If '--DistanceHauteur--' If Left(Range("A" & Ligne), 9) = "Hauteur :" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 9) Range("A" & Ligne).Select Selection.Copy Range("H" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne).Select Selection.Delete Shift:=xlUp End If '--Nom du Porte--' Range("A" & Ligne).Select If Left(Range("A" & Ligne), 16) = "Style de porte :" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 17) 'ActiveCell = Left(ActiveCell, Len(ActiveCell) - 1) End If End If '---------------------------FENETRE-------------------------' '--CalqueFenetre--' Range("A" & Ligne).Select If Left(Range("A" & Ligne), 19) = "AEC_WINDOW Calque:" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 21) ActiveCell = Left(ActiveCell, Len(ActiveCell) - 1) Range("A" & Ligne).Select Selection.Copy Range("F" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne).Select Selection.Delete Shift:=xlUp '--DistanceLargeur--' If Left(Range("A" & Ligne), 9) = "Largeur :" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 9) Range("A" & Ligne).Select Selection.Copy Range("G" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne).Select Selection.Delete Shift:=xlUp End If '--DistanceHauteur--' If Left(Range("A" & Ligne), 9) = "Hauteur :" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 9) Range("A" & Ligne).Select Selection.Copy Range("H" & Ligne).Select ActiveSheet.Paste Range("A" & Ligne).Select Selection.Delete Shift:=xlUp End If '--Nom du Porte--' Range("A" & Ligne).Select If Left(Range("A" & Ligne), 18) = "Style de fenêtre :" Then Range("A" & Ligne).Select ActiveCell = Right(ActiveCell, Len(ActiveCell) - 19) 'ActiveCell = Left(ActiveCell, Len(ActiveCell) - 1) End If End If '--Compiler A - B --' If Range("B" & Ligne) <> "" Then Range("C" & Ligne) = Range("A" & Ligne) & " - " & Range("B" & Ligne) Else: Range("C" & Ligne) = Range("A" & Ligne) End If '--Compiler A - G--' If Range("G" & Ligne) <> "" Then Range("C" & Ligne) = Range("A" & Ligne) & " - " & Range("G" & Ligne) Else: Range("C" & Ligne) = Range("A" & Ligne) End If '--Compiler A - H--' If Range("G" & Ligne) <> "" Then Range("C" & Ligne) = Range("A" & Ligne) & " - " & Range("H" & Ligne) Else: Range("C" & Ligne) = Range("A" & Ligne) End If '--Compiler A - G x H--' If Range("G" & Ligne) <> "" Then Range("C" & Ligne) = Range("A" & Ligne) & " - " & Range("G" & Ligne) & " X " & Range("H" & Ligne) Else: Range("C" & Ligne) = Range("A" & Ligne) End If '--Ligne suivante--' Next '--qté1--' Derligfin = Range("A65536").End(xlUp).Row For Ligne = 2 To Derligfin Range("D" & Ligne) = 1 Next '--Filtre--' ActiveWorkbook.Worksheets("Nomenclature").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Nomenclature").AutoFilter.Sort.SortFields.Add Key _ :=Range("F1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Nomenclature").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With '--fin--' Application.ScreenUpdating = True End Sub Merci d'avance ! -
[Résolu] Lisp sur la base de la commande Liste
Circus a répondu à un(e) sujet de Circus dans LISP et Visual LISP
Non non, justement, je ne le souhaite pas, je souhaite sélectionner une zone à lister, comme le fait très bien lisp que j'ai trouvé. Je voudrais juste ne pas avoir a rester avec la touche enter pour lister l'ensemble de la zone d'objet que j'ai sélectionné. En gros je lance le lisp, je sélectionne une zone et j'ai le fichier .log qui souvre que je copie/colle sous excel et avec le vba je l'exploite. le soucis est d'avoir a passer "Appuyez sur ENTREE pour continuer:" dans la console texte -
[Résolu] Lisp sur la base de la commande Liste
Circus a répondu à un(e) sujet de Circus dans LISP et Visual LISP
Pour info j'avais fait différent tests avec _X, le plus concluant fu avec (ssget "_X")), enfin quand je dit concluant c'est à dire que je n'ai pas de message d'erreur. Par contre avec cela je n'ai plus de le choix des objets à lister, il me fait un listing de l'ensemble de l'espace objet et j'ai encore a taper plusieur fois sur enter pour continuer. Mon but principale est d'avoir une extraction de donnée brut, même moche (contrairement à extractdonnée qui permet d'avoir des colonnes directement exploitable sur excel mais...) Un extraction moche ne m'inquiète pas car avec excel et le vba je pourrait sans soucis exploiter les données. Pour ne faire perdre de temps a personne, le lisp ne me passionne pas. je ne parle pas du language en lui même mais j'ai déjà du mal avec le français l'anglais et le vba ^^ Et j'avou vouloir me perfectionner en vba...Bref Si vous avez une idée, voir une approche totalement différente, je suis tout a fait ouvert. Pour ma part ce soir c'est fini sur ACA, je l'ai banni de mon pc perso depuis bien longtemp XD Cdt Circus -
[Résolu] Lisp sur la base de la commande Liste
Circus a répondu à un(e) sujet de Circus dans LISP et Visual LISP
Merci pour vos réponses rapide ( désolé notre serveur avait craché...) pour _X cela ne fonctionne pas : no function definition: SSGET_X En ce qui concerne EXTRACTDONNEES je n'aime pas utiliser cette commande. (depuis la ACA2014 "Sélectionner les objets dans le dessin actif", je doit cliquer 3 fois sur le bouton pour sélectionner mes objets ( un détail on va dire.) J'ai d'autres arguments que je n'ai pas en tête mais c'est une solution que j'avais fortement exploré. Je m'en sers tout de meme pour certain export basic. -
Bonjour, J'étais à la recherche depuis un moment d'un moyen d'extraction de donnée ( nom de bloc, coordonnée, jeux de visibilité...) La commande LISTE permet de le faire et j'ai enfin trouvé un lisp qui permet de le faire Une fois le lisp executé, ca crée un fichier .log (defun c:Listing (/ #SS) (cond ((setq #SS (ssget)) (setvar 'logfilemode 1) (command "_.list" #SS "") (setvar 'logfilemode 0) (startapp "Notepad" (getvar 'logfilename)) ) ) ;_ cond (princ) ) - Mon problème est qu'il faut rester ou appuyer 100 fois ( environ ^^ ) sur entrer pour que le lisp continue a s'executer "Appuyez sur ENTREE pour continuer:" . - J'aimerai aussi que le fichier créé précédement .log (47331-21371_1_1_2738.log par exemple chez moi) soit écrasé avant de rajouter le nouveau listing ou alors créé avec un nom indiquant l'heure sur le fichier. 47331-21371.dwg ->47331-21371_14_42. ( je prends toutes autres solution ou lisp pouvant m'aiguiller ) Merci d'avance Cdt Circus
-
Long délai avant démarrage de l'impression
Circus a répondu à un(e) sujet de fredbross dans AutoCAD 2015
Bonjour, C'est un problème sur 1 seul fichier ou tous les fichiers en générale ? Pour ma part, j'ai un gros soucis de lenteur lorsque j'imprime des plans avec des objets de nettoyage ( commande NETTOYER ) Peut être vous avez ce genre d'objets ? Je n'ai pas d'autre piste ! Cdt. Circus -
En effet c'est possible et c'est perturbant ! Je ne savais pas qu'un attribut était aussi flexible... Ca me donne des idées, Merci !
-
J'ai du mal a comprendre comment le lisp peu fonctionner, enfin si, il édite le bloc... Mais ca ne fonctionnera pas si ya plusieur fois le même bloc inséré avec des angles indifférents ? Par contre, ce lisp + un bloc dynamique ! Ca devrai répondre à la demande.
-
Bonjour, Je ne pense pas que cela soit possible, à moins d'en faire un bloc dynamique avec un jeu de rotation sur l'attribut. Cdt Circus
-
Si c'est une fenêtre oscillo-battante...ya moyen de faire dans le spectaculaire... Sinon le problème est uniquement avec les fichiers autocad ?
-
[résolu]Trouver sa présentation quand on a 50 à 60 présentations
Circus a répondu à un(e) sujet de Circus dans AutoCAD 2014
avec FOG ! est bien c'est magnifique ! Je te remercie beaucoup