Aller au contenu

Circus

Membres
  • Compteur de contenus

    932
  • Inscription

  • Dernière visite

Contact Methods

  • MSN
    dickdurtygropd@hotmail.co
  • Website URL
    http://

Circus's Achievements

Newbie

Newbie (1/14)

1

Réputation sur la communauté

  1. 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.
  2. 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.
  3. 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
  4. 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
  5. Trés bien, merci pour l'info Steven ! Cdt Circus
  6. 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.
  7. "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
  8. Bonjour, Pour la commande je finirai par ;^C^C Pour le reste je ne sais pas. Cdt
  9. Bonjour, avec un fichier joint ca serait plus efficace. Cdt Edit : En effet une polyligne avec une epaisseur...cela semble logique.
  10. 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
  11. Merci pour les liens. Je vais me concentrer sur le vba avec excel pour le moment ^^
  12. 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...
  13. 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
  14. 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
  15. 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 !
×
×
  • 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é