Aller au contenu

GEGEMATIC

Membres
  • Compteur de contenus

    1 416
  • Inscription

  • Dernière visite

  • Jours gagnés

    19

Tout ce qui a été posté par GEGEMATIC

  1. Salut, quand on a vraiment envie, je pense que c'est toujours une expérience intéressante de monter sa boite. mais je pense que la période n'est pas favorable, structurellement et conjoncturellement. - structurellement : Les marges brutes des donneurs d'ordre privés sont bien plus faibles qu'il y a 10 ans, et ridicules par rapport à celle d'il y a 20 ans. Les prix en maitrise d’œuvre sont très bas, on était souvent de 8 à 12% il y a 20 ans, aujourd'hui on démarre à 2% la topographie est dévaluée car avec les nouveaux outils, les compétences minimales sont très accessibles, donc beaucoup de structures (boite de BTP) ont leur géomètre maison, les syndicats de gestion de réseaux ont leur GPS ... la qualités des levés n'est jamais évaluée, on a du n'importe quoi, il n'y a que pour les implantations que tu pourra vendre de la qualité, sinon on ne regardera que le prix. - conjoncturellement : le BTP est très sinistré, les collectivités ont des budgets serrés, et on pense faire des économies en négligeant les études (alors que c'est le contraire ...) le seul marché en progression est le récolement géo-référencé, mais les prix sont bas. Maintenant c'est à toi d'analyser ton "terreau" local, tes opportunités, mon but n'est pas de te décourager, mais de te prévenir pour que tu puisse réussir ! Gégé
  2. salut, merci Bonuscad d'avoir terminé le boulot, c'est bien plus clair et pratique comme ça ! c'est vrai que le sujet est dans "routine lisp", j'aurais pas du répondre de cette manière, et proposer une commande aboutie ... a+ gégé
  3. salut, le code ne marche que dans un sens, pour rendre superposition pour faire l'inverse, il faut faire : (setpropertyvalue (vlax-vla-object->ename each) "IsFromOverlayReference" 0) autre chose, dans le gestionnaire d'xref, il faut faire une rafraichissement, sinon on ne voit pas les modfications si tu as le temps de retester, j'aimerai donc bien savoir ce qui ne marche pas ? Gégé
  4. Salut, ça doit mieux marcher ... a+ gégé ; ***************************************************************************** ;§/dxf/ change toutes les xref pour qu'elle soient de type superposition /none (defun pw_makeAllOverlayReference2 ( / blk each ) (setq blk (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object)))) (vlax-for each blk (if (= :vlax-true (vla-get-isxref each)) (setpropertyvalue (vlax-vla-object->ename each) "IsFromOverlayReference" 1) ) ) )
  5. salut excuse moi mais il faut PowerClic pour que ça marche. PowerClic maintenant, cette routine est une vilaine adaptation d'une tentative précédent qui ne marchait pas avec les commandes vlisp classiques. il faut que je prenne le temps de trouver un logique plus simple, car la je crois que je part d'une occurence de xref pour aller trouver sa définition. (c'était pour pouvoir le faire par pointage) j’essaie de voir ça cet AM Gégé
  6. Salut, tu as raison c'est possible avec la 2015, mais pas avec la 2013: suaf en utilisant le lisp pour mac setpropertyvalue ci dessous un exemple pour les mettre en superposition: a+ gégé ; **************************************************************************** ;;§/xref/change toutes les xref de type overlay /none (defun c:MakeAllXrefOverlay ( / nom blocks sel lsel eblockref oblock flags ) (setq sel (pw_SsgetX_Xref)) (foreach eblockref (pw_listsel sel) (setq oblock (pw_retoBlock eblockref)) (if (= :vlax-true (vla-get-isxref oblock)) (progn (setq eblock (pw_to_ename oblock)) (setq egBlock (entget eblock)) (setq Flags (cdr (assoc 70 egBlock))) (if (= (boole 1 Flags 8) 8) ; that means that this block in an overlay xref (prompt "\nAllready Overlay xref") (setpropertyvalue eblock "IsFromOverlayReference" 1) ) ) (prompt "\nNot an xref") ) ) ) ; **************************************************************************** ;;§/xref/Liste toutes les xrefs de type Attached /none (defun c:ListAllXrefAttached ( / nom blocks sel lsel eblockref oblock flags ) (setq sel (pw_SsgetX_Xref)) (foreach eblockref (pw_listsel sel) (setq oblock (pw_retoBlock eblockref)) (if (= :vlax-true (vla-get-isxref oblock)) (progn (setq nom (vla-get-name oblock)) (setq eblock (pw_to_ename oblock)) (setq egBlock (entget eblock)) (setq Flags (cdr (assoc 70 egBlock))) (if (= (boole 1 Flags 8) 8) ; that means that this block in an overlay xref ;(prompt "\nAllready Overlay xref") nil (prompt (strcat "\nAttached : " nom)) ; ) ) (prompt "\nNot an xref") ) ) )
  7. GEGEMATIC

    Etiquette Covadis

    Salut, je comprend mieux, mais est-ce que les ligne de repère multiple ne peuvent pas être annotatives (pour suivre l'orientation du dessin ?) j'ai le même genre de problèmes, avec des échelle différentes sur mes plans. le truc qui m'embête le plus, c'est que j'aimerais que certaines lignes ou polyligne aient une échelle fixe (par exemple un type de ligne qui représente un trottoir, ou une crête de talus, et que les autres suivent l’échelle de la fenêtre : ça ne semble pas possible, et c'est bien rageant ! gégé
  8. GEGEMATIC

    Etiquette Covadis

    Salut J'ai eu un besoin similaire, avoir en même temps des étiquettes de style différents à deux échelle différentes je n'ai rien trouvé dans covadis j'ai donc créé mes propres étiquettes pour les objets Covadis Mais toi tu veux utiliser des étiquettes Covadis pour placer du texte libre comme avec une ligne repère classique, et sans la mise à l'échelle automatique. J'ai du mal à comprendre l’intérêt ? le style des étiquettes qui est plus personnalisable que celle d'Autocad ? avoir une unité visuelle pour les étiquettes d'objet Covadis et tes textes libres ? explique nous ! Gégé
  9. Salut, j'ai remarqué que l'écriture d'OD en lisp avec Autocad est lente, et qu'elle peut même devenir très lente quand on a beaucoup de données à écrire. le rythme reprend en quitant le dessin et en le rouvrant j'ai dû modifier pas mal de routines faisant de gros traitements pour sauvegarder et fermer le dessin au bout de n traitements. gégé
  10. salut, en admettant que tu n'as qu'un enregistrement, que ton branchement à bien la bonne table attachée : ;; ename, table, champ, index (0 si un seul), valeur: ici 11.1 (ade_odsetfield (car (entsel "\nbranchement ?")) "BRANCHEMENT" "Longueur" 0 11.1) pour récupérer t longueur, le mieux ,c'est (vla-get-length (vlax-ename->vla-object (car (entsel "\nbranchement ?")))) Gégé
  11. Il y avait pas mal d’approximations et d'incohérences dans mon projet, ce qui donnait des résultat troublants, mais l'origine principale de mon problème semble être lié à l'abandon des fibres (command-s pour le lisp) le sendcommand est devenue asynchrone, Il pose des problème à beaucoup de monde, et il ne peut pas toujours être remplacée par editor.command dans mon cas, je créais une petite routine lisp via un sendcommand lors de l'initialisation de la classe, même si je pouvais suivre pas à pas le bon déroulement des opérations, ce sendcommand était sans effet à ce stade (ouverture d'autocad avec un template) le même sendcommand, attaché à l’événement de création de document, marchait très bien lors de l'ouverture ou la création d'autres documents. ce sont ces petits détail qui rendent les migrations chronophages ... Par contre, VS2013 me déroute, je n'ai plus les touches classiques F7 et F2 Normal ? Gégé
  12. salut, le sujet a été abordé il n'y a pas longtemps, pour une transformation à l'intérieur des blocs, fait un recherche. j'avais proposé un bout de code, imparfait mais utilisable, et Gile aussi je crois, donc tu devrais trouver ton bonheur ... Gégé
  13. salut, merci à tous les 2, j'ai vraiment des différences de fonctionnement entre un projet VS2010 A2012 et VS2013 A2015, je pense que le vieux projet avait des lacunes qui étaient acceptées, et qui ne le sont plus. concrètement, c'est l'initialisation d'une classe qui ne se fait pas, ou de manière aléatoire. il faut que j'en profite pour nettoyer mon code gégé
  14. salut à tous, je suis passé à Visual Studio 2013 community pour avoir le Edit & continue avec du x64 je suis en train de migrer mes projets, ça se passe pas trop mal sauf que j'ai quelques comportement bizarres: - Un fichier Vb pour lequel j'ai défini compile à none qui se compile et s'exécute - Des Commandmethod qui ne sont pas reconnu dans le 1er dessin, mais marchent dans le 2eme etc ... Je sais qu'on à tendance a s'imaginer qu'un logiciel merde alors que ça vient de soi, là je ne trouve pas. donc si personne n'a de problème avec VS2013, c'est que ça vient de moi, si il y en a, il vaut mieux que je passe à Autocad 2016 (qui lui est officellement supporté par VS 2013) gégé
  15. Salut, moi non plus, puisqu'au début il voulait remplacer des textes par d'autre ... ce Gaston Denis nous fait tourner Fantasio ! Dans ce cas, tu as de la chance, et quand j'ai vu ton sujet, j'ai pensé à ces fond de plan composite que je reçois, où sous la même apparence, j'ai de tout : texte, mtext, attribut, texte ou mtext dans un bloc, un bloc imbriqué etc ... sans oublier une partie des entité dans l'espace papier ... Gégé
  16. Salut , si tu utilise le ssget, autant trier sur les chaines directement: (ssget "x" '( (0 . "TEXT,MTEXT") (1 . "*1ere chaine*,*autre chaine*,`,")));_selectionne 1ere chaine autre chaine et , puis de lancer une série de (vl-string-subst new-str pattern string [start-pos]) sans tester auparavant par vl-string-search, puisqu'on sait que ça contient ce qu'on veut changer. mais je préfère personnellement pour une action comme celle ci parcourir bêtement la base, comme dans mon 1er exemple, car des textes à changer peuvent être dans des blocs, des cotations, des lignes repères, à des niveaux d'imbrication insensé (genre export all_plan ...) Gégé
  17. (ssget "x" '((1 . "*Mon texte recherché*"))) ça peut se compliquer avec les mtext si le texte est formaté ou sur plusieurs lignes ... Gégé
  18. salut, tu peux parcourir ton dessin à la recherche des chaines de texte, code 1, et remplacer la chaine par une autre et entmod des exemples de ces utilitaires : il faut adapter avec un wcmatch Gégé ; **************************************************************************** ;;§/dxf/balaye les blocs et supprime l'inclinaison des textes dans leur définition/none ; (defun c:supp_textincline_blocs ( / modif eg ent first) (defun modif () (while ent (setq eg (entget ent)) (if (= (cdr (assoc 0 eg)) "TEXT") (progn (setq eg (subst '(51 . 0) (assoc 51 eg) eg)) (print (entmod eg)) (entupd ent) ) ) (setq ent (entnext ent)) ) ) (setq first (tblnext "block" 't)) (setq ent (cdr ( assoc -2 first ))) (modif) (while (setq ent (tblnext "block" )) (setq ent (cdr ( assoc -2 ent ))) (modif) ) ) et celui là, encore plus rudimentaire : ; **************************************************************************** ;;§/dxf/balaye le dessin entier remplace prop1 par prop2/prop1 prop2 ;;prop1 et 2 : code assoc dxf (defun big_clean ( prop1 prop2 / ) (defun modif () (setq eg (entget ent)) (if (equal (assoc (car prop1) eg) prop1) (if prop2 (progn (setq eg (subst prop2 prop1 eg)) ;(print eg) (entmod eg) ) ) ) ) (setq ent (entnext)) (modif) ;(print eg) (while (/= nil (setq ent (entnext ent))) (print "p") (modif) ;(print eg) ) )
  19. salut, j'ai pratiqué un peu mapserver, et j'avais trouvé que les bases postgresql étaient très rapides comme on peut les piloter en ligne de commande, avec Gdal, donc créer une ligne de commande pour gdal ne doit pas être compliqué ? en tout cas, c'est à comparer avec Autocad map, qui reste très lent. Gégé
  20. salut, je pense que Map contient TOUT Autocad, avec en plus les fonctionnalités ADE et les modèles métiers Gégé
  21. salut, ton initget doit comprendre les mots clef genre (initget "Undo Configurer") qui te permet d'avoir comme retour soit Undo soit Configurer Gégé
  22. salut à tous, je réplique ici un sujet qui n'a pas trouvé de réponse est-ce que quelqu'un à une astuce pour que le tampon créé garde un lien (xdata, OD) avec l'objet dont il est le tampon ? Bien sur, je peux attraper les polylignes contenues dans mon tampon, mais j'ai des risque d'en attraper de mauvaise. merci pour toute idée, Gégé
  23. Salut à tous, j'utilise un lisp, Man, qui génère de l'aide html, excel xml et des menu mns à partir des projet visual lisp. le fichier MNS contient les commandes (ID_CMD [CMD]cmd) et les aides (***HELPSTRINGS) pour chaque ID_ Ces helpstrings devraient s'afficher dans la ligne d'état, en bas à gauche, mais avec la 2015, pas moyen de les afficher, pourtant l'aide officielle Autocad 2015 parle toujours de cet helpstring, il n'aurait pas été supprimé. une idée ? Merci d'avance, Gégé Pour plus de clarté, 2 extraits de mon fichier .MNS Début du fichier MNS, section POP ***MENUGROUP=MAN_POP_MENULISP ***POP1 **LISP [LISP] [->ACCESS] ID_CONNEXIONACCESS [CONNEXIONACCESS]CONNEXIONACCESS ID_CONNEXIONCLOSE [CONNEXIONCLOSE]CONNEXIONCLOSE ID_RENSEIGNE_ACCESS_XYZ [RENSEIGNE_ACCESS_XYZ]RENSEIGNE_ACCESS_XYZ ID_SELECT_NOEUD_ANOMALIES_DEPUIS [sELECT_NOEUD_ANOMALIES_DEPUIS_ACCESS]SELECT_NOEUD_ANOMALIES_DEPUIS_ACCESS [<-] [->ADE] .... et l'aide correspondante : ***HELPSTRINGS ID_CONNEXIONACCESS [Connexion à une base de données choisie par l'utilisateur] ID_CONNEXIONCLOSE [Déconnexion de la base de données ]
  24. salut, notre crabe écrase littéralement la concurrence étrangère avec ses propositions ! je pense qu'il vaut mieux se ranger sous sa bannière, au moins pour le ObjectData: Pourrais-tu juste ajouter à tes propositions : MAP New features - 01 - Improvments on Object Data une ligne pour dire que l'incompatibilité de table entre des dessins simplement ouverts, ou référencés, ne peut pas être "une fonctionnalité", comme le dit le support Autodesk, mais un bug ! je sais que tu connais ce problème aussi ! je vais ajouter une proposition: lors de la création d'une classe d'objet, on devrait pouvoir définir, en plus de la table, la liste des valeurs autorisées pour chaque champs a+ Gégé
  25. salut, comment on vote ? car je vois que le décapode est très polyglotte et que je partage bon nombre de ses propositions ... Gégé
×
×
  • 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é