Aller au contenu

Lommig

Membres
  • Compteur de contenus

    169
  • Inscription

  • Dernière visite

  • Jours gagnés

    5

Tout ce qui a été posté par Lommig

  1. Lommig

    Dissociation MNT OBJET

    Dans le cas, les triangles "TN" n'ont pas de nature de surface. Ils récupèrent donc la définition "DU CALQUE" dans lequel se trouve le MNT-Objet. Si tu modifies la couleur de ce calque, les triangles "TN" doivent prendre cette couleur. Guillaume
  2. Lommig

    Dissociation MNT OBJET

    Bonjour, D'après ce que j'ai compris : => MNT-Faces3D : (Fonctionnement AutoCAD) La "surface" est définie par un ensemble de faces3D (objets AutoCAD). Ces faces3D sont dissociées par calques : "TN", "Talus" et "Projet". La gestion de la couleur et du matériau se fait donc "PAR CALQUE". (pour gérer le matériau par calque, on peut utiliser la commande "ATTACHERMATERIAU") => MNT-Objet : (Fonctionnement COVADIS) La "surface" est définie par un unique MNT-Objet COVADIS. Les natures de surface permettent de dissocier les triangles "TN", "Talus" et "Projet". La gestion de la couleur et du matériau se fait donc "PAR NATURE DE SURFACE". - La commande "MNTOBJNATSFCAFFECT" permet de visualiser les natures de surface sur un MNT et de gérer l'affectation des triangles. Elle ne permet pas de modifier la définition des natures de surface. - La commande "MNTOBJNATSFCGESTION" permet de gérer les natures de surface dans le dessin. Elle permet de modifier la couleur et le matériau définissant la nature de surface (et donc aux triangles du MNT). En résumé, si tu souhaites modifier la couleur des triangles dans un MNT-Objet : - Avec la commande "MNTOBJNATSFCAFFECT", tu identifies la nature de surface affectée aux triangles. - Avec la commande "MNTOBJNATSFCGESTION", tu modifies la définition de cette nature de surface (couleur et matériau). Guillaume
  3. Lommig

    Bug style de dalle

    Bonjour, Sous AA2014, j'ai déjà rencontré le même problème : - Décalage d'épaisseur = "-1" (réél négatif) => la valeur est acceptée ! - Décalage d'épaisseur = "-7 + BT" => la valeur est acceptée ! La variable "épaisseur de base" est remplacée par le terme "BT" dans le tableau. - Décalage d'épaisseur = "-7 + EB*-1" (formule avec EB négative) => "cette valeur n'a pas un format correct" SOLUTION: Si je saisis directement la formule "-7 + BT*-1", alors elle est acceptée et elle devient "-7 + EB*-1" dans le tableau !!! Il y a bien une confusion entre le terme "EB" (Epaisseur de Base) et "BT" (Base Thickness). La variable "épaisseur de base" devient le terme "BT" SAUF si on lui applique un diviseur/multiplicateur, alors elle devient "EB", mais elle n'est pas acceptée ! Guillaume
  4. Lommig

    Ingénieur + moderne

    Bonjour, Pour ceux que ça intéresse : Lien Autodesk Compte-rendu PDF de l'étude Guillaume
  5. Bonjour, Lorsque je dois modéliser un garde-corps, j'utilise AutoCAD Architecture ou Revit Architecture. Ils ont un objet "Garde-Corps" qui génère un dessin 2D/3D. Par contre, le paramétrage est assez complexe... AutoCAD Architecture Revit Architecture Guillaume
  6. Lommig

    Affecte code selon texte

    Bonjour, Il n'existe pas de commande directe, mais il est possible de détourner la commande "Affecte Z selon Texte". Cette méthode ne fonctionne que si tes codes sont exclusivement numériques ! Le principe est d'échanger temporairement les attributs ALT et COD : - Renommer l'attribut ALT en ALT2 - Renommer l'attribut COD en ALT - Utiliser la commande "Affecte Z selon Texte" - Renommer les attributs : ALT en COD et ALT2 en ALT (pour un retour à la normale) Si tes codes ne sont pas numériques, tu peux utiliser "Extraction de données" (sur les points et les textes), faire un tri sous Excel, exporter un fichier CSV et charger de nouveaux points topo sous AutoCAD. Guillaume
  7. Bonjour, Si tu passes par le clic-droit sur une table de nomenclature, effectivement tu n'as pas accès à la case "Utiliser la table existante". Pour avoir accès à cette case, tu dois directement saisir la commande "SCHEDULEEXPORT". Mais je ne vois pas comment associer un gabarit Excel... Guillaume
  8. Lommig

    Elévation courante

    Bonjour, Je viens de faire qq essais et en effet, l'élévation n'est pas toujours conservée... C'est flagrant quand je passe en vue "Haut" : l'élévation est redéfinie à 0 ! (sous AA2012 et AA2014) Guillaume
  9. Lommig

    Elévation courante

    Bonjour, Par "élévation courante", tu parles bien de la commande "SPECIFYOFFSET" et de la valeur écrite en bas à droite de l'écran ? J'ai fait un test sous AA2014 et l'élévation est bien conservée à la réouverture ! Peux-tu faire un essai sur un fichier vierge ? Guillaume
  10. Bonjour, Je suis sous AA2014 et je te confirme que la commande "raccord" fonctionne sur des objets "mur". Quel est ton rayon de raccordement ? Il est à 0 par défaut... (apres avoir lancé la commande "raccord", il faut choisir l'option "rayon") Guillaume
  11. Bonjour, Dim FilterType(0) As Integer Dim FilterData(0) As Variant [...] ' On prépare un filtre de sélection sur les insertions de bloc FilterType(0) = 0 FilterData(0) = "INSERT" FiltersType = FilterType FiltersData = FilterData L'extrait précédent permet de définir un filtre de sélection. Actuellement, la commande sélectionne toutes les références de blocs ( objet de type "INSERT" ). Pour sélectionner seulement les blocs "Repère", on peut faire : Dim FilterType(1) As Integer Dim FilterData(1) As Variant [...] FilterType(0) = 0 FilterData(0) = "INSERT" FilterType(1) = 2 FilterData(1) = "Repère" FiltersType = FilterType FiltersData = FilterData Un article (en anglais) sur le sujet : http://adndevblog.typepad.com/autocad/2012/07/vba-how-to-setup-selectionset-filters-for-a-block-or-layer.html Guillaume
  12. Lommig

    Controlre les présantations

    Bonjour, Ce sujet (en anglais) peut t'intéresser : http://forums.augi.com/showthread.php?55147-Select-only-objects-in-the-active-layout Cette routine VBA parcourt les objets de la présentation nommée "Présentation1" : Sub TEST() Dim MaPrésentation As AcadLayout Set MaPrésentation = ThisDrawing.Layouts("Présentation1") For Each obj In MaPrésentation.Block ' Si l'objet est une référence de bloc : If TypeOf obj Is AcadBlockReference Then ' ... TON CODE ... End If Next obj End Sub Guillaume
  13. Lommig

    Trier onglet de présentation

    Bonjour, Oui, je pense que c'est possible en VBA. Je te propose cette procédure : 1) récupérer le nom de chaque présentation 2) trier cette liste par ordre alpha-numérique 3) forcer la position d'onglet de chaque présentation Cette routine VBA parcourt les espaces en affichant leur nom et leur position actuel : Sub LISTE() Dim Esp As AcadLayout For Each Esp In ThisDrawing.Layouts MsgBox Esp.Name & " - " & Esp.TabOrder Next Esp End Sub (On obtient des messages du genre : "Model - 0", "Présentation1 - 1", "Présentation2 - 2", ...) Cette routine VBA force la présentation "Présentation1" au 3ème onglet : Sub MODIF() Dim MaPrésentation As AcadLayout Set MaPrésentation = ThisDrawing.Layouts("Présentation1") MaPrésentation.TabOrder = 2 End Sub Ce n'est qu'un début de réponse... Je te conseille de poster ton ébauche de code. Guillaume
  14. Merci pour vos réponses ! Utilisant VBA avant, je ne m'y connais pas en API.NET... Il ne me reste plus qu'à apprendre ! Une petite question : Apparemment "SetImpliedSelection" accepte un jeux de sélection (comme dans l'exemple de (gile)) ou un tableau d'ObjectID. Cette deuxieme méthode m'intéresse pour traiter un tableau d'objets sans passer par une sélection. En cherchant sur Internet, j'ai réussi à récupérer le tableau des ObjectID avec : Imports Autodesk.AutoCAD.DatabaseServices Dim TableauID() As ObjectId ' Pour chaque objet AutoCAD dans ma liste For Each Objet In Liste ' Récupération de l'Handle Dim hn As Handle = New Handle(Convert.ToInt64(Objet.Handle, 16)) ' Conversion en ObjectID Dim id As ObjectId = db.GetObjectId(False, hn, 0) ' Ajout à mon tableau TableauID(i) = id i = i + 1 next Objet ' Afficher la sélection ed.SetImpliedSelection(TableauID) Est-ce la bonne méthode ? (quitte à commencer avec l'API.NET, autant bien commencer...)
  15. Bonjour, Je cherche à terminer une commande avec une sélection d'objets à l'écran (dans le même genre que "sélection rapide" ...). Mes objets peuvent être stockés sous deux formes : - UN JEUX DE SELECTION Dim Selection As AcadSelectionSet ' La sélection suit un filtre OU - UN TABLEAU D'OBJETS Dim ListeObjets() As AcadEntity ' Si l'objet (point, bloc, polyligne, ...) répond à des critères particuliers, je l'ajoute à la liste... A la fin de ma commande, je souhaite avoir ces objets sélectionnés à l'écran. (Actuellement, je contourne le problème en créant un groupe, en y ajoutant les objets et en utilisant SendCommand("Select g " & NomDuGroupe) à la fin de ma commande...) Avez-vous une méthode plus "propre" ? sans utiliser "SendCommand" ? Merci d'avance pour vos conseils
  16. Lommig

    Paramétrage de tracé

    Dans un nouveau dessin, j'ai créé plusieurs présentations avec différents noms de traceur. La macro VBA suivante permet de réaffecter "Aucun" à tous les noms de traceur : Sub AucunNomTraceur() Dim Presentation As AcadLayout For Each Presentation In ThisDrawing.Layouts Presentation.ConfigName = "Aucun" Next Presentation End Sub Elle fonctionne sur mon AutoCAD... Peux-tu faire ce simple test ? Concernant les styles de tracé, le fichier "monochrome.stb" (et non "monochrome.sbt") n'est pas accepté dans un dessin basé sur des styles CTB... Il faut vérifier la variable PSTYLEMODE (= 0 pour un dessin basé sur des STB) avant d'utiliser "StyleSheet".
  17. Lommig

    Paramétrage de tracé

    Bonjour, Concernant le nom du traceur, il s'agit peut-être d'une erreur sur le terme "aucun". Quelle est ta version d'AutoCAD ? Cette macro fonctionnne sur un AutoCAD 2010-2011-... français : Sub AucunNomTraceur() 'On Error Resume Next Dim Presentation As AcadLayout For Each Presentation In ThisDrawing.Layouts Presentation.ConfigName = "Aucun(e)" Next Presentation End Sub Guillaume
  18. Lommig

    Filename dans caption

    Bonjour, Ta variable "docName" est définie dans une procédure et inconnue dans les autres... Je te propose simplement : (car si j'ai bien compris, ton bouton "CommandButton3" n'est pas vraiment utile...) Guillaume
  19. Lommig

    Filename dans caption

    Bonjour, ThisDrawing.Name te retourne le nom du dessin courant. (pour information, ThisDrawing.FullName te retourne le chemin complet) Guillaume
×
×
  • 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é