alala
Membres-
Compteur de contenus
289 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par alala
-
Bonsoir, J'ai testé un peu tout les types d'affichage est c'est toujours le même soucis, l'on finit par trouver mais c'est long et parfois (plan géoréférencé ou des petit malin mélangent le local, Lambert et Lambert 93 zones) l'on arrive à avoir quelques zones de dessin bien trop éloignés. Après un test fructueu de la routine si dessu sur 350000 entités dans un plan, ça fonctionne mais c'est TRES long, donc je vais tenter de faire autrement (des series de ssget avec des zones serait peu être plus rapide que de parcourir toute les entités. Pour exemple sur le plan en question j'en suis à 5 groupes d'objets qui sont éloignés de plus de 10km (bien plus) les une des autres. Merci de votre aide.
-
Bonjour, la problématique ici est de trouver les "grappes" d'objets si leur éloignement ne permet pas rapidement de les trouver à l'oeuil. Chez moi ça plante au dessus des 400000 Objets, et plus il y a d'objet plus c'est lent (normal). Donc à voir pour améliorrer et enrubanner tout ça dans un beau DCL!
-
Bon le temps de me plonger un poil plus dedant et j'ai résolus le soucis. la routine fonctionne il ne reste plusqu'a pondre une interface pour le zoom sur les Zones crées avec des jeux de sélection. Si vous avez le courrage de corriger les erreurs ou de me proposer quelques chose de plus propre je suis preneur. ;)
-
Bonjour, un soucis que je rencontre très régulièrement est d'avoir un plan avec des objets à des coordonnées inconnues très éloignés les un des autres, au point ou si l'on fait un Zoom étendu il soient si petit qu'ils n'apparaissent pas ou trop peu!). Je souhaite donc régler ce problème avec une routine que j'ai commencer à écrire : (defun MiddlePointPosition (Entit / MinPoint MaxPoint) (vla-GetBoundingBox Entit 'MinPoint 'MaxPoint) (setq MinPoint (vlax-safearray->list MinPoint)) (setq MaxPoint (vlax-safearray->list MaxPoint)) (setq MiddlePoint (list (/ (+ (car MinPoint) (car MaxPoint)) 2) (/ (+ (cadr MinPoint) (cadr MaxPoint)) 2) ) ) ) (defun c:ZonesZoom (/ doc modelSpace Alpha Ent Ent2 removeObjects addObjects MiddlePoint SSTot Zones ZEC ZoneEnCour ) (vl-load-com) (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq modelSpace (vla-get-ModelSpace doc)) (setq SS (vla-get-SelectionSets doc)) (ssget "_X" '((410 . "MODEL"))) (Setq Alpha (getint "Quelle tolérance? \n ")) ;;; Création de la sélection générale des éléments (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-Item (list SS "SSTotal" ) ) ) (setq SSTot (vla-add SS "SSTotal" ) ) (setq SSTot (vla-item SS "SSTotal" ) ) ) (vla-clear SSTot) (vla-select SSTot acSelectionSetPrevious) ;;; Boucle générale (setq Zones '()) (setq i 0) (while (> (vla-get-count sstot) 1) ;tan que la sélection générale contien un élément (vlax-for Ent SSTot (setq removeObjects (vlax-make-safearray vlax-vbObject (cons 0 0) ) ) ; création d'un Safearray pour stoquer les éléments à supprimer (vlax-safearray-put-element removeObjects 0 Ent) ;on remplis le SA avec l'élément en cours (vla-RemoveItems SSTot removeObjects) ;on supprime l'élément de la sélection ;;; On crée la nouvelle liste de sélection ZoneX (setq i (1+ i)) (setq Zones (append (list (strcat "Zone" (itoa i))) Zones)) (setq ZoneEnCour (car Zones)) (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-Item (list SS ZoneEnCour ) ) ) (setq ZEC (vla-add SS ZoneEnCour ) ) (setq ZEC (vla-item SS ZoneEnCour ) ) ) (vla-clear ZEC) (setq addObjects (vlax-make-safearray vlax-vbObject (cons 0 0) ) ); création d'un Safearray pour stoquer les éléments à ajouter (vlax-safearray-put-element addObjects 0 Ent);on remplis le SA avec l'élément en cours (vla-additems ZEC addObjects);on l'additionne à la sélection ; On boucle sur les éléments de la nouvelle liste (vlax-for EntZEC ZEC (setq MiddlePointBase (MiddlePointPosition EntZEC)) ; on recherche le point centrale de chaque objet ; On boucle sur tous les éléments du plan non supprimés de la liste de séletion générale (vlax-for Ent2 SSTot (setq MiddlePointEnd (MiddlePointPosition Ent2)) (if (< (distance MiddlePointBase MiddlePointEnd) Alpha) ; On compare (progn (setq removeObjects (vlax-make-safearray vlax-vbObject (cons 0 0) ) ) (vlax-safearray-put-element removeObjects 0 Ent2) (vla-RemoveItems SSTot removeObjects) (setq addObjects (vlax-make-safearray vlax-vbObject (cons 0 0) ) ) (vlax-safearray-put-element addObjects 0 Ent2) (vla-additems ZEC addObjects) ) ) ) ) ) ) ) Problème, j'ai une erreur : ; erreur: Erreur Automation Pointeur d’objet nul Cette erreur survient lors de la suppression de la liste de sélection. J'ai voulus passer un max en Vlisp mais l'ajout et la suppression d'objet dans un jeu de sélection nommé est une galére et j'arrive plus à rien à partir de ça. Si vous avez une solution je suis preneur et vous en serait reconnaissant. Merci d'avance.
-
[Résolu] Récupérer les calques d'un gabarit
alala a répondu à un(e) sujet de La Lozère dans Routines LISP
Serai-ce un Lisp de Patrick : http://patrick.blog-cao.com/2012/04/06/pur-v1-00/ @+ -
[Résolu] Récupérer les calques d'un gabarit
alala a répondu à un(e) sujet de La Lozère dans Routines LISP
Bonjour, Pas besoin de Lisp pour cela. Il suffit de transformer le Gabarit en dwg (enregistrer sous). Puis de l'inserer en bloc dans le plan en cours. Ne reste plus qu'a supprimer le bloc inséré et le purger. Seule contrainte le gabarit viendra également avec ses blocs. @+ edit : oups il y a eu plus rapide que moi à répondre! -
Affichage des calques FDO ou non dans fenêtres présentation
alala a répondu à un(e) sujet de Pieroka dans Autodesk Map
bonjour, c'est une bonne nouvelle ça! Merci d"e l'information. @+ -
Menu, toolbar, ruban et palette
alala a répondu à un(e) sujet de alala dans Pour aller plus loin en LISP
Bonjour, merci de l'info, je pensait que le .cuix se chargeait une seule et uniquement fois, mais si il y a une mise à jour cela devient très intéressant. Encore merci. -
Effacer les traits après fonction Appuyer/tirer
alala a répondu à un(e) sujet de Titi95 dans AutoCAD 2013
Bonjour, sur un objet 2D tu peu faire une extrusion dans un premier temps, l'extrusion ne laisse pas d'objets de construction. Ensuite sur un objet 3D le Appuyer/tirer déplacera les faces et donc ne lessare pas les faces d'origine (sauf erreur de ma part). @+ -
Affichage des calques FDO ou non dans fenêtres présentation
alala a répondu à un(e) sujet de Pieroka dans Autodesk Map
Bonjour, Même avec une routine tel que celle demandé il restera toujours le soucis de voir des MPOLYGONE sans hachures. Si l'on conserve tous les polygone à plusieurs entités, rien nous dit que ceux-ci serons dans la zone "avec hachures" ou dans la zone "sans hachures". Je ne vois pas de solutions qui pemettent de faire de la thématisation sans hachures interne des MPOLYGONE sur des objets Autocad, sauf a faire une routine qui décompose les MPOLYGONE concernés en appliquant une copie d'OD de l'ancien vers le nouvel objet au passage. @+ -
Affichage des calques FDO ou non dans fenêtres présentation
alala a répondu à un(e) sujet de Pieroka dans Autodesk Map
Bonjour, Essaye de mettre un style de hachure (ou un théme) sur tes mpolygones (après avoir fait une requette sur le dessin courrant en fonction de ta zone) et d'appliquer une hachure d'un type qui remplis peu la zone et avec une echelle très large (donc non visible dans le mpolygone. Il y a peu être une autre solution mais celle-ci fonctionne (bien qu'innélégante). @+ ps: au pire importer en Polylignes et faire un théme ensuite en fonction d'une requette sur une zone (ou attribut/donnée d'objet), hors de la zone les polylignes ne seronts pas remplis. -
Affichage des calques FDO ou non dans fenêtres présentation
alala a répondu à un(e) sujet de Pieroka dans Autodesk Map
Bonjour, Une astuce consite à fermer le document avec un calque courrant définit qui sera gelé dans la présentation que tu souhaite. En effet quand tu ouvrira à nouveau le plan les couches FDO se placerons dans le calque en question et seront donc liées à cette couche pour l'affichage. Mais ça ne fonctionne pas toujours et ce n'est pas modifiable facilement (hors ouverture/fermeture du fichier). Bonne chance. -
Je n'oserai copier ... sauf les meilleurs! ;) ps: intéressant ces outils FDO!
-
Bonjour, Une procédure "simple" : - Inserer le SDF (v3) avec la fonction MAPIMPORT ou Inserer le SDF (v2) avec la fonction MAPSDFIN. - Choisir ses options tel que les champs à importer et les tables dans lesquels les importer. - Exporter vers un SHP avec la fonction MAPEXPORT. - choisir les champ et les tables à exporter et les types de géométries. - attendre en buvant un café bien chaud! Cela fonctionne très bien et seul les enregistrements sans géométries ne serons pas inclus. Bonne journée!
-
Bonjour, je pense qu'il faudrait repartir de la routine réalisé précédement et non pas faire une seconde rtoutine qui t'obligerait à rechercher des éléments (position de la polyligne, des blocs, ...) qui sont déjà utilisé/utilisable dans la routine d'origine. @+
-
Bonjour, Sur une suite chaque logiciel est indépendant, donc selon moi si tu est sur une machine 32Bits tu ne pourra installer que les produits qui sont compatibles. Maintenant si il y a un changement d'OS vers Win 7 ou 8 il est vraiment dommage de rester en 32, sachant que 7 et 8 on un mode de compatibilité et une virtualisation en 32 bits très fonctionnelle. Le 64Bits est la norme à utiliser dans les années à venir, ne vous faite pas avoir en ne l'anticipant pas!
-
Bonjour, Comme dit pa Eric il y a la commande _layfrz qui est disponible en icone dans le menu calquesII sous Autocad 2011 (et dans le ruban Début -> Calques Autocad -> Geler) . Bonne continuation!
-
Bonsoir, le 64 bits est apparus pour le grand public avec les Athlon 64 en ... 2003. Donc depuis presque 10 ans maintenant. Le soucis avec le 32Bits c'est la gestion de la mémoire, et la limite à 3Go et des brouettes. Civil est gourmand en mémoire, il est la concaténation des fonction et d'Autocad, MAP et CIVIL et à des besoins en mémoires suppérieurs ce qui améne Autodesk à imposer ceci (et peu être aussi l'envis de stopper un dévellopement en 32bits innutile vus le peu de clients réels de la solution).
-
Placement des styles d'annotation sur polyligne
alala a répondu à un(e) sujet de alala dans Autodesk Map
Bonjour, L'option .CENTRE met l'annotation au centre de la polyligne (ou surfacique divers) close quand l'option .CENTROID prend bel est bien le centre de gravité de la surface, quelle soit à l'intérieur ou à l'extérieur de celle-ci. Donc ce cas ne necessite pas réelement de dévellopement selon moi. @+ -
Placement des styles d'annotation sur polyligne
alala a répondu à un(e) sujet de alala dans Autodesk Map
POur le cas en question j'ai donc créer un LISP de placement au centre des polylignes/lignes/arc/Splines. J'assure que cela fonctionne en polylignes non closes, mais il peu y avoir des cas un peu particuliers donc à tester. Reste que si l'on laisse l'angle se faire tout seul (.ANGLE) l'on est sur l'angle de l'objet au centroïde et non à l'endroit ou se trouve l'annontation sur l'objet. Voici donc : (defun c:AnnoAuCentre (/ Adoc ss pl) (vl-load-com) (setq Adoc (vla-get-ActiveDocument (vlax-get-acad-object))) (princ "Sélectionner les polylignes pour placer les annotation au centre de celles-ci : \n" ) (if (setq ss (ssget '( (-4 . "<OR") (0 . "LWPOLYLINE,LINE,SPLINE,ARC") (-4 . "<AND") (0 . "POLYLINE") (-4 . "<NOT") (-4 . "&") (70 . 112) (-4 . "NOT>") (-4 . "AND>") (-4 . "OR>") (410 . "MODEL") ) ) ) (vlax-for pl (vla-get-ActiveSelectionSet Adoc) (ade_editdefcen (vlax-vla-object->ename pl) (vlax-curve-getPointAtdist pl (/ (vlax-curve-getdistatparam pl (vlax-curve-getEndParam pl)) 2 ) ) ) ) ) ) Me reste quelques soucis à régler avec ces annotation, tel que l'angle de celle-ci en fonction du point de placement, et la si vous avez une astuce je vous en serai vraiment reconnaissant. Merci à vous. -
Placement des styles d'annotation sur polyligne
alala a répondu à un(e) sujet de alala dans Autodesk Map
Bonjour, je cherchais justement à me passer d'une attribution manuelle du point d'insertion de l'annotation. Je vais voir si il n'est pas possible de faire un petit lisp qui definisse cela pour moi car je me vois mal passer en revus toutes les polylignes de tous mes plans pour effectuer cette opération. Merci pour cette réponse. -
Bonjour, un petit soucis se pose à moi aujourdhui. Je travail sur un projet en linéaire. Je souhaite placer des styles d'annotation au centre d'un polyligne, hors si je choisit .CENTROID ou .CENTER en choix de placement je me retrouve toujours avec mon annotation placé au centre de gravité de ma polyligne et donc en dehors de mon linéaire. Avez vous une astuce pour forcer le placement au centre ET sur la polyligne? merci d'avance.
-
Cela me parrait logique, les logiciels supportant les OS 16 bits on disparus depuis des lustre il doit en être de même pour les OS 32bits qui n'ont plus lieu d'être quand l'on s'impose plus de 3Go de Ram minimum.
-
Bonjour, Avec MAP l'on peu associer une partie d'un plan uniquement (requête), et donc délimité un envois. mais ça ne régle pas le problème des fichiers en double puisque le eTransmit requière un enregistrement du plan. Il serait effectivement intéressant de pouvoir transmettre un document en partie sans avoir à jouer avec ces fichiers supplémentaires. Personnellement je les utilisent comme références lors du retour du document modifié, cela permet de continuer à travailler sur le plan général sans que l'on perde l'état à l'intant T de la transmition à un prestataire. @+
-
Justement, c'est le positionnement par défaut qui fait toute la différence. Sinon l'on peu considérer qu'Autocad n'a pas changé depuis bien longtemps, car l'on peu revenir très loins en atrrière dans l'interface (on se passe très simpelement des ruban et fenêtres modernisés). Enfin voir disparraitre cette fenêtre de commande en faveurs de messages près de la souris, moi je dit pourquoi pas, moi je trouve cela déroutant lorsuque l'on fait des commandes qui n'ont pas d'inpact direct avec une action à réaliser à la souris.
