Darkthur
Membres-
Compteur de contenus
13 -
Inscription
-
Dernière visite
Darkthur's Achievements
Newbie (1/14)
0
Réputation sur la communauté
-
C'est bon , j'ai trouvé tout seul :p
-
Bonjour ( et oui c'est encore moi :D ) Je fais donc une boucle for each qui parcours toutes les entités ( des blocs ) d'un calque , et j'aimerai à chaque fois comparer 2 attributs des blocs par rapport à des informations contenues dans un fichier excel. Pour l'instant le code ressemble à sa : Set xlApp = CreateObject("Excel.Application") Set mySheet = xlApp.Workbooks.Open("C:\....\bidule.xls") sheets = "Table_terrain" ...... ...... For Each objEnt In objSS Set objRef = objEnt VarAttribs = objRef.GetAttributes For i = 2 To 1769 If VarAttribs(1).TextString = mySheet.sheets(sheets).cells(i, 2) Then If mySheet.sheets(sheets).cell(i, 3) = "" Then Exit For Else VarAttribs(0).TextString = mySheet.sheets(sheets).cells(i, 3) objRef.Layer = ("00 - Carroyage-500-Blocs-Realise") Exit For End If End If Next i Next objEnt la variable VarAttribs est bien remplis , j'en déduis donc que le probleme vient de la communication avec excel , vu qu'il ne trouve jamais de cellule égale à Varattrib(1) Si vous pouviez m'aider à bien déclarer les echanges avec Excel ( ou alors à trouver le probleme si ce n'est pas excel ) , sa m'aiderai bien . Merci D'avance !
-
Elle ont été crée avec Autocad map Finalement j'ai changé de technique , j'ai repassé toutes les polylignes en bloc avec des attributs comme sa je peut me débrouiller avec ma doc Merci de vos reponses
-
Je t'ai envoyée un mail , mais je suis sous Autocad map , donc il y aura peut etre des problemes de comptatibilité.
-
Oui , elle sont pas de base , mais je ne sais pas comment sa as été rajouté , ce n'est pas moi qui l'ai fait. Ou sinon mon prog n'a pas l'air de reconnaitre l'instruction suivante For Each PolyL In ThisDrawing.Layers("00 - Carroyage-500-Regions-terrain-non-realise") Est ce un probleme de syntaxe , ou est ce juste impossible ?
-
si sur Autocad Comme j'ai du mal à m'expliquer , j'ai fais un petit screen http://img176.imageshack.us/my.php?image=autocadpolylignebb2.png Je cherche donc à pouvoir exploiter en VB le champ Nom_Planche et terrain_realisé
-
[LISP - Autocad MAP] Ne prend pas en compte la validation
Darkthur a répondu à un(e) sujet de Darkthur dans Débuter en LISP
Merci ( mais non je n'ai pas l'air idiot :casstet: ) -
[LISP - Autocad MAP] Ne prend pas en compte la validation
Darkthur a posté un sujet dans Débuter en LISP
Bonjour, Sur Autocad map , j'essaie de configurer la numérisation ( mapdigisetup ) et de la lancer ( mapdigitize ) Pour la configuration je remplis tout les champs demandé et je finisais par ^M avant de lancer la commande de numérisation. Mais le programme ne prend pas en compte la validation et garde donc pour la numérisation les valeurs par défaut du menu de configuration. Par contre si je coupe la macro pour m'arreter avant la validation, et que je valide et lance la numérisation à la main , les valeurs rentrés par la macro sont bien pris en compte . Il s'agit donc d'un probleme de validation. D'ou la question , comment faire pour valider proprement Le bout de code en question : "étiQuette" " oui " ;Fin de la configuration ^M ; Validation qui ne marche pas :p ) (C:MAPDIGITIZE) ; on lance la numérisation ) Merci d'avance -
Lorsque l'on affiche les propriétés de la polyligne on voit une rubrique général , géométrie, divers et j'ai rajouté une partie CAR-500 qui contient nom_planche et terrain_realisé , mais je ne saispas y acceder à partir du code VBA
-
Rebonjour :D J'ai un peu avancé sur mon probleme Mon l'instant mon code ressemble à ca : For Each PolyL In ThisDrawing.Layers("00 - Carroyage-500-Regions-terrain-non-realise") .... next Quand j'execute le programme bug sur la ligne du for each avec comme erreur : 438 - Propriété ou méthode non géré j'ai vu sur un autre post du forum que thisDrawing.Layers(..) s'écrivait sans parenthese mais le logiciel me corrige automatiquement le nom du calque en enlevant un 0 et en rajoutant des espaces à chaque trait d'union , j'ai testé en renommant le calque avec un nom simple ( "test" ) mais la meme erreur se produit . On as peut etre pas le droit d'utiliser PolyL ou Thisdrawing.layers dans un for each ? Merci d'avance
-
Bonjour à tous Je cherche à creer un programme qui parcourt toutes les polylignes d'un calque ( sachant que ce calque ne contient que des polylignes de meme type , tout les objets doivent donc etre traité ). il faut de plus pour chaque polyligne pouvoir observer deux informations contenus dans la rubrique CAR-500 dans les propriétés : NOM_PLANCHE et terrain_realise . Je sais evidemment faire des boucles et autre fonctions VB , mais je trouve nul part dans l'aide la syntaxe qui permet de se servir des entités autocad , donc si il y a une partie dans l'aide de VB sur autocad ( oui il m'arrive d'etre aveugle ) qui me permet de répondre facilement à ma question , sa pourrait etre sympathique de me prévenir :exclam: Merci d'avance
-
Sa marche :D Merci beaucoup ( j'ai encore perdu une aprés midi pour une solution débile , je me hait :p )
-
Je n'ai pas trouver de probleme équivalent en regardant rapidement le forum , donc je poste ;) Je suis sur Autocad 2005 map , je suis entrain de developper une macro qui rempli le menu " Configurer la numérisation " ( _MAPDIGISETUP ) et qui ensuite lance la numérisation ( _MAPDIGITIZE ) La premiere partie se déroule sans probleme , lorsque je tape (command "_MAPDIGITIZE" ) , il me met que _MAPDIGITIZE est une commande inconnue , alors que si je la tape directement dans la console, celle ci est bien evidemment reconnu Voici le code complet de la macro (defun C: DIGITCANA () *^C^C ;Annule les commandes en cours (command "_MAPDIGISETUP" "LIEN" "TypeLigne" "DUCALQUE" "Largeur" "0" "CALQUE" "02 - Réseau_existant" "Données" "Oui" "Données-Objet" "Canalisation" "accrOchage" "Oui" "3d" "Non" "étiQuette" "Oui" ^M ) (command "_MAPDIGITIZE" ) ) Merci d'avance !
