rrobert
Membres-
Compteur de contenus
145 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par rrobert
-
Bloc-Action Réseau dans deux directions
rrobert a répondu à un(e) sujet de rrobert dans AutoCAD 2020-2024
Plus rien ne bloque puisque le problème est résolu ^^ J'ai juste tellement galéré à comprendre comment ça fonctionnait que j'ai fini par demander de l'aide...- 2 réponses
-
EDIT : après moults essais j'ai enfin fini par trouver... Il fallait recréer une action de réseau sur le jeu de coordonnées cartésiennes XY, en sélectionnant un rectangle définissant longueur et hauteur du réseau. Bonjour, J'ai un bloc dynamique dans lequel je veux créer un réseau dans les directions X et Y. Par exemple, je veux dupliquer 5 fois mon objet vers la droite, et 2 fois vers le haut. Je ne vois vraiment pas comment faire, j'ai pourtant essayé les jeux de coordonnées cartésiennes XY en réseau mais rien ne fonctionne...
- 2 réponses
-
Solide ou hachure? Lourdeur de plan
rrobert a répondu à un(e) sujet de rrobert dans AutoCAD 2020-2024
Je reviens sur ce fil concernant la lourdeur des blocs, sur un bloc dynamique avec des états de visibilité, vaut-il mieux avoir beaucoup d'états de visibilité (25) et "peu" de paramètres dynamiques (5) ou bien peu d'états de visibilité (6) et beaucoup de paramètres dynamiques (15)? Sachant que si j'ai peu d'états de visibilité, j'aurai peu d'objets dans le bloc (et donc peu d'objets sur lesquels agissent les paramètres dynamiques), et inversement. -
Bonjour, Je ne sais pas si c'est HS ou pas, si c'est le cas je supprimerai. Idem, j'ai une workstation HP Z4 G4 avec Quadro P2200 Intel Xeon W-2125 4GHz, 32Go, SSD 500Go, et dès que j'ai des blocs dynamiques avec beaucoup de paramètres, il y a beau n'en avoir que 6 occurrences, Autocad rame dès que je change un paramètre, alors que mes CPU et GPU se tournent les pouces !!!! J'ai déjà optimisé les réglages graphiques... Sans déconner, il n'y a pas un moyen puissant TRES PUISSANT qui permettent de demander aux CPU et GPU de donner VRAIMENT PLUS histoire d'éviter de boire des cafés toutes les 5 minutes? Je sais que le sujet est courant, mais jusqu'ici je n'ai rien trouvé de concluant dans mes recherches. Est-ce que ça vaudrait le coup de faire un post dédié? Je n'en peux vraiment plus d'attendre alors que mon PC se tape la sieste 😤😡🤬
-
Je ne peux plus choisir le point de départ d'une copie ou d'un déplacement
rrobert a répondu à un(e) sujet de rrobert dans AutoCAD 2020-2024
Je suis en 2022 :/ -
Je ne peux plus choisir le point de départ d'une copie ou d'un déplacement
rrobert a répondu à un(e) sujet de rrobert dans AutoCAD 2020-2024
Ca me rassure également de ne pas être tout seul, je pensais que je j'activais un raccourci clavier sans faire gaffe, tant mieux et dommage en même temps car pas de solution définitive 😉 -
Je ne peux plus choisir le point de départ d'une copie ou d'un déplacement
rrobert a répondu à un(e) sujet de rrobert dans AutoCAD 2020-2024
Merci pour votre retour ! En effet en testant un peu ça déconne davantage lorsque je vais trop vite entre la barre espace et le clic de la souris. Mais pas que j'ai l'impression 😉 Je retiens la solution de relancer AutoCAD, même si c'est bien embêtant... -
Bonjour, Tout est dans le titre, lorsque je veux copier ou déplacer un objet sur autocad, il me prend systématiquement 0,0,0 comme point de départ, je ne peux pas choisir mon point de départ, peu importe le point d'arrivée choisi. Ca apparaît de manière aléatoire et sur plusieurs plans différents... De même lorsque je veux créer une polyligne, il commence ma nouvelle polyligne depuis le sommet de la précédent polyligne créée. Je pense que la réponse est tout con mais je ne la connais pas et n'ai pas réussi à la trouver sur internet 😉 Merci, Rémi
-
Bloc Dynamique / fonction réseau
rrobert a répondu à un(e) sujet de jerem85lll dans AutoCAD 2020-2024
Entre deux PC et un téléchargement les choses changent 😉 Pourrais-tu enlever tous les objet inutiles à l'analyse de ton bloc (calques gelés et compagnie), purger ton dessin, le contrôler, et le remettre en PJ? Il faudrait un dessin avec tous les calques dégelés, déverrouillés, et uniquement le bloc en question qui apparaisse dessus (j'ai déjà fait l'erreur de ne pas faire ça et ça n'a pas aidé les autres 🙄). -
Bloc Dynamique / fonction réseau
rrobert a répondu à un(e) sujet de jerem85lll dans AutoCAD 2020-2024
Bonjour @jerem85lll, Je rencontre des soucis au téléchargement de ton fichier, peux-tu le contrôler voire le purger? Voir ci-dessous ce que je vois quand je l'ouvre. Le fichier fait complètement bloquer Autocad, c'est bizarre pour un fichier de 156 ko. -
Que préférez-vous comme environnement? Clair (actuel) ou Sombre (fond noir et typo claire)
rrobert a répondu à un(e) sujet de Cadmin dans CADxp, comment ça marche?
@didier aucun souci, je trouvais juste la chose drôle 😉 En sélectionnant le texte on visualise facilement grâce à la surbrillance, pas de souci pour l'instant! -
Que préférez-vous comme environnement? Clair (actuel) ou Sombre (fond noir et typo claire)
rrobert a répondu à un(e) sujet de Cadmin dans CADxp, comment ça marche?
Oups... 😁 Un beau travail a été fait, néanmoins il reste quelques difficultés de lecture, que ce soit sur les couleurs d'anciens messages comme celui-ci de @didier, ou encore la barre d'édition des messages, qui n'est pas très lisible : Bon courage, Rémi -
Bonjour, Je créé actuellement des filtres de propriétés de calques. Est-il possible de créer des exclusions, afin, par exemple, d'exclure tous les calques contenant le mot "TRAVAIL" plutôt que les inclure dans le filtre? Je pourrais bien sûr changer le nom de tous mes calques de travail afin que le filtre ne les inclue pas, mais je cherche justement à éviter cela ;) Merci de vos réponses. Rémi
-
Plusieurs occurrences d'attribut dans un bloc
rrobert a répondu à un(e) sujet de rrobert dans AutoCAD 2020-2024
Merci Luna, je craignais cela, hélas tu me le confirmes... Oui je vois bien le problème de référence circulaire. J'avais pensé à la réponse bidouille du sujet que tu partages, mais je n'en n'ai pas très envie 😉 -
Plusieurs occurrences d'attribut dans un bloc
rrobert a répondu à un(e) sujet de rrobert dans AutoCAD 2020-2024
Bonjour @Olivier Eckmann, Je reviens vers vous car j'ai une autre demande : peut-on remplir un Texmult avec la valeur d'un attribut? Ou bien créer un champ avec la valeur d'un attribut? J'aimerai renseigner une donnée sur un bloc, qui n'est pas un champ cette fois, et que cette donnée apparaisse dans plusieurs Texmult du bloc. Est-ce faisable? -
Bonjour @didier, merci pour cette immense aide. Cela fonctionne en effet sans souci ! Pour l'instant j'utilise uniquement les jeux de sélection car en mettant highlight à True cela permet rapidement et facilement de contrôler à l'écran si le code a bien fonctionné. À terme j'aurai besoin de copier des sélections vers d'autres étages, ainsi que de réaliser des calculs via les données stockées dans les attributs ou les paramètres dynamiques du bloc. Je suppose qu'il faut avoir un jeu de sélection pour faire des copies de bloc, ou bien il suffit de stocker dans un tableau, et via le tableau on peut recopier les blocs à l'écran?
-
Bonjour @didier c'est exactement cela. Pas de souci sur le délai, c'est déjà gentil de m'aider. Je m'y attaque de nouveau aujourd'hui, mais en repartant de zéro, j'espère trouver une solution ! @Luna je pensais également que c'était aussi simple que ce genre de code, mais ça paraît plus complexe, vu que ça ne marche pas ^^
-
Je viens justement de m'attaquer à la mise à jour des échelles des anciens plans de mon entreprise parce que là ce n'est plus possible... Le filtre n'est pas complètement fonctionnel car il sélectionne tous les blocs dont le nom correspond au premier bloc, mais aussi tous les blocs dynamiques, peu importe le nom du bloc sélectionné en amont 😕 C'est pour cela que je souhaite, après premier filtrage, supprimer les blocs dynamiques dont EffectiveName ne correspond pas au bloc de référence. Un exemple en image : j'ai sélectionné un des blocs en bas à gauche comme ref. Le bloc dynamique en haut à droite a un nom différent, mais comme il a un nom en *U, il a également été sélectionné par le code SelRef.EffectiveName & ",`*U*"
-
Jusque là je vous suis @didier. Cela me sélectionne sur un seul étage tous les blocs dont le nom correspond au bloc de référence, ainsi que tous les blocs dynamiques. Si je veux désormais supprimer de ma sélection tous les blocs dont le EffectiveName ne correspond pas au EffectiveName du boc de référence, comment dois-je m'y prendre?
-
J'ai essayé par tous les moyens mais rien n'y fait, ça ne fonctionne pas... Je suis capable de préfiltrer sans souci, mais en post-filtrage je ne peux supprimer ou ajouter des éléments à mon selectionSet. J'ai crée un selectionset "selection" qui contient tous les éléments de ma présélection. et j'ai créé un autre jeu de selection "selection_finale" à qui je veux ajouter mes objets post-filtrés. Sauf que ça ne marche pas, peu importe le type d'objet que je veux y ajouter... (pour l'instant je ne joue qu'avec des selectionset, je regarderai pas la suite pour les collections) Je me suis aidé de cette page de l'aide Autodesk avec l'exemple qu'ils ont mis. La partie qui beugue est à la fin. Sub selection_etage() 'Cette macro permet de sélectionner un bloc manuellement puis de sélectionner tous les blocs présents sur le même étage ' Elle évoluera dans le temps pour créer un utilitaire de sélection complet permettant de renseigner les calques, noms, visibilité, attributs, dimensions, etc. 'Variables permettant de déterminer les limites d'étages de sélection Dim etage_ref As Integer Dim espacement_etage As Double Dim lim_inf As Double Dim lim_sup As Double 'Variables pour la sélection d'objet Dim selectionref As AcadEntity Dim point_selection_ref As Variant Dim blocref As AcadBlockReference Dim nom_bloc_ref As String Dim selection As AcadSelectionSet Dim selection_finale As AcadSelectionSet Dim objet As AcadObject Dim bloc As AcadBlockReference 'Dim bloc_sel As AcadBlockReference 'Variables pour le filtrage Dim pointMin(2) As Double Dim pointMax(2) As Double Dim filterType(5) As Integer Dim filterData(5) As Variant Dim nom_bloc As String 'on vient récupérer l'écartement entre étages définis par la variable USERI1 espacement_etage = ThisDrawing.GetVariable("useri1") '##############SELECTION DU BLOC DE REFERENCE################ 'L'utilisateur doit sélectionner UN bloc de référence 'Si la sélection comporte une erreur on recommence la phase de sélection On Error Resume Next RETRY: 'Code de sélection du bloc de référence ThisDrawing.Utility.GetEntity selectionref, point_selection_ref, vbCr & "Sélectionnez le bloc de référence" 'verification des erreurs de selection If Err <> 0 Then Err.Clear MsgBox "La sélection est vide ou non valide." GoTo RETRY End If 'On vérifie que l'élément de référence sélectionné est un bloc If TypeOf selectionref Is AcadBlockReference Then Set blocref = selectionref nom_bloc_ref = blocref.EffectiveName 'On détermine le niveau du bloc ainsi que les limites sup et inf du niveau auquel il se trouve 'ATTENTION, ceci ne fonctionne qu'avec les coordonnées du SCG If blocref.InsertionPoint(1) >= 0 Then etage_ref = Fix((blocref.InsertionPoint(1)) / espacement_etage) Else etage_ref = Fix((blocref.InsertionPoint(1)) / espacement_etage) - 1 End If lim_sup = espacement_etage * (etage_ref + 1) lim_inf = espacement_etage * etage_ref 'Les lignes en commentaires suivantes servent, au besoin, à faire un suivi pas à pas des étapes précédentes 'MsgBox "Nom du bloc : " & nom_bloc_ref 'MsgBox "Point d'insertion (1) : " & blocref.InsertionPoint(1) 'MsgBox "Etage ref : " & etage_ref 'MsgBox "Lim inf : " & lim_inf 'MsgBox "Lim sup : " & lim_sup Else MsgBox "L'élément sélectionné n'est pas un bloc." GoTo RETRY End If '##############FIN DE LA SELECTION DU BLOC DE REFERENCE################ '##############CARACTERISATION DU PREFILTRAGE################ 'A l'avenir cette partie du code permettra la caractérisation du pré-filtrage via un userform VBA 'On détermine les coordonnées permettant de filtrer la sélection dans l'espace (X, Y, Z) pointMin(0) = 0 pointMin(1) = lim_inf pointMin(2) = 0 pointMax(0) = 0 pointMax(1) = lim_sup pointMax(2) = 0 'Détermination du filtrage qui sera opéré 'Ici on filtre tous les blocs et blocs dynamiques étant sur le même étage que le bloc de référence précédemment sélectionné filterType(0) = 0 filterType(1) = 2 filterType(2) = -4 filterType(3) = 10 filterType(4) = -4 filterType(5) = 10 filterData(0) = "INSERT" filterData(1) = ",`*U*" '& nom_bloc_ref filterData(2) = "*,>=,*" filterData(3) = pointMin filterData(4) = "*,<,*" filterData(5) = pointMax '##############FIN DE LA CARACTERISATION DU PREFILTRAGE################ 'On sélectionne les éléments souhaités Set selection = ThisDrawing.SelectionSets.Add("selectiondyntest1") Set selection_finale = ThisDrawing.SelectionSets.Add("selectionfindyntest1") selection.Select acSelectionSetAll, , , filterType, filterData ReDim ajout(0 To selection.Count - 1) As AcadEntity Dim i As Integer i = 0 '/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\ 'ici on sous-entend que la selection contient uniquement des blocs, à adapter si le préfiltrage doit prendre en compte d'autres objets que les blocs '/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\ 'Pour cette partie de code on vient post-filtrer afin de n'avoir que les blocs dont le nom effectif correspond au bloc de référence For i = 0 To selection.Count - 1 Set bloc = selection(i) Set objet = selection(i) If bloc.EffectiveName = nom_bloc_ref Then 'LA LIGNE DE CODE SUIVANTE NE FONCTIONNE PAS Set ajout(i) = objet 'MsgBox (TypeName(bloc)) End If Next i selection_finale.AddItems ajout 'MsgBox (TypeName(ajout)) '/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\ 'sset.SelectOnScreen filterType, filterData MsgBox ("Elements filtrés en première sélection : " & str(selection.Count)) MsgBox ("Elements filtrés en sélection finale: " & str(selection_finale.Count)) selection_finale.Highlight True selection.Delete selection_finale.Delete End Sub Pour le fichier de test, voir message plus haut.
-
@Luna mille mercis de m'avoir précisé tout ça, je comprends mieux !
-
@gile je te confirme la syntaxe. Au début quand j'ai copié ta syntaxe j'ai ajouté une virgule en trop du coup ça me mettait une erreur. J'ai continué avec uniquement ">=" mais du coup ça ne prend en compte que le X. C'est corrigé.
-
EDIT : j'avais initialement dû mal recopier le code de @gile, en prenant "*,>=,*" et non pas ">=" tout fonctionne. Merci. Du coup qu'ajoutent le *, en plus du >= ? Je complète le fichier DWG avec le code actuel inspiré de @gile : Sub test420000() Dim nom_bloc As String nom_bloc = "toto" Dim pointMin(0 To 2) As Double Dim filterType(3) As Integer Dim filterData(3) As Variant pointMin(0) = 50 pointMin(1) = 50 pointMin(2) = 50 'Le code suivant renvoie une erreur de declaration de variable 'Dim filterType(0, 2, -4, 10, -4, 10) As Integer 'Dim filterData("INSERT", nom_bloc & ",`*U*", "*,>=,*", pointMin, "*,<,*", pointMax) As Variant 'Les filtres sont faits pour sélectionner tous les blocs situés au-dessus du pointMin de coordonnées (50,50,50) filterType(0) = 0 filterType(1) = 2 filterType(2) = -4 filterType(3) = 10 filterData(0) = "INSERT" filterData(1) = nom_bloc & ",`*U*" filterData(2) = ">=" filterData(3) = pointMin Dim sset As AcadSelectionSet Set sset = ThisDrawing.SelectionSets.Add("test13") sset.Select acSelectionSetAll, , , filterType, filterData 'sset.SelectOnScreen filterType, filterData MsgBox ("Elements filtrés: " & str(sset.Count)) sset.Highlight True sset.Delete End Sub Ca fonctionne très bien pour la coordonnée X. Mais, suivant ce manuel, si je replace le code DXF "10" par le code DXF "20" afin de filtrer suivant la coordonnée Y, et bien il ne se passe rien, aucune entité n'est sélectionnée alors que ça devrait être le cas !
-
J'ai voulu simplifier au max 😬 Pas de souci, c'est déjà gentil de regarder.
-
Merci des infos @gile @didier j'ai vidé un peu l' espace de PJ de mon compte, voici le plan de test en PJ. Test selection etage.dwg
