Aller au contenu

x_all

Membres
  • Compteur de contenus

    3 609
  • Inscription

  • Dernière visite

  • Jours gagnés

    30

Tout ce qui a été posté par x_all

  1. De ce que j'ai compris avec mon anglis pas top, le "_C" correspond à ça. ( C Crossing selection. ??) Le problème, c'est que les hachures sont des objets capricieux et qu'une petite boite englobante ne capture rien... ou pas tout, de mes petites expériences faites hier soir, il n'y a que lorsque la boite capture un bord que ça marche.
  2. Je croyais en avoir mais finalement non. Je te fait passer tout de même un type de hachure qui ressemble à ce que j'ai vu faire avec des pavé en arc de cercle, et le celebre hatchmaker (attention a prévoir un accrochage sur la grille hatchmaker est un peu susceptible)... Ps si tu fait qq chose de joli poste nous le .pat on sais jamais ça peu servir...
  3. bonjour j'ai un problème de sélection que je ne voie pas bien par quel bout prendre. Sur un dessin, les murs continus (du niveau n au n+1) sont représentés par une hachure solide. J'ai regroupé tous les niveaux en les superposant. je voudrais trouver les voiles qui sont continu du rdc à la toiture. (c'est une sombre histoire de contreventement au sismique pour les bétonneux de la boite) Je me dis qu'en faisant des sélections en un pts donné par et en comparant si le nombre de hachure est égal au nombre de niveaux, j'ai ma solution. Pour déterminer les points, je commence par faire une polyligne à l'axe des voiles puis je la mesure par un pas assez petit, j'ai donc des points sous les hachures que je peu récupérer. Là ou je cale, c'est la sélection, j'ai tester (setq ssel (ssget "_C" p1 p2 '((0 . "HATCH"))) avec 2 pts décalés autour du 1er point, mais ça ne marche que si le décalage est plus grand que la demie épaisseur du mur. (qui pour couronner le tout des pas forcément la même d'un voile à l'autre) J'aurai aimé réduire cette fenêtre de sélection pour affiner l’échantillonnage. Est il possible de sélectionner tout ce qui se trouve en un point? merci d'avance
  4. ou sont les sse ssc ssl de (gile) ? je m'en sert 200 fois par jour !!!
  5. pas lisible... pas super précis comme problème... si ton plan global est conçu pour être imprimé au 10 000eme les épaissuer de traits et les écritures sont très grandes, et quand tu sort un détail, le même plan au 200eme forcément tu as des types de lignes et écritures qui font un gros patté. Au contraire si ton plan est dessiné au 200 eme et que tu le sort au 10 000eme, les écritures deviennent illisible. Une solution courante c'est de passé par les écritures annotatives qui changent de taille suivant l'échelle. Mais de mon point de vue, on n'a pas besoin des même information sur un plan de détail que sur un plan général. je préfère personnellement créer des calques ou je place les informations pour chaque échelle. Il faut supprimer de l'information, synthèsiser... si au 1/200 il faut représenter les branchements des Cibe sur les Rembt, au 1000 eme, le tracé principal de la ligne ERDF est suffisant. Autre problème possible, ton fond de plan est un Jpeg. Si tu zoome sur trop sur jpeg tu vas finir par voir les pixels bien carré et bien moche...
  6. x_all

    cotes fond de forme

    Bonjour je n'ai pas répondu de suite car je n'avais pas Covadis pour vérifier. Effectivement il y a une case à cocher que je n'avais jamais "imprimé"... merci beaucoup, ça va me faire gagner pas mal de temps...
  7. x_all

    algorithme de trie x y

    plop ben un grand merci encore (gile), grâce à ta fonction de tri j'ai pu finaliser le truc même si il a fallu revoir pas mal de choses. la routine et quelques explications ici pour ceux qui en auront l'utilité. Cette fonction permet d'imprimer un carnet de A4 et de numéroter les pages, on peu aussi s'en servir pour imprimer une image ou un dessin en mosaïque sur une imprimante A4
  8. x_all

    Zoom sur SCU

    Bonjour et bienvenu à tout hasard tu n'aurai pas un script au démarrage ou un lisp qui appelle la vue "élévation"? sinon, élévation est il le scu courant? que se passe il si tu changes de scu courant? quelle est la valeur de UCSFOLLOW ?
  9. x_all

    algorithme de trie x y

    comme d'habitude c'est éblouissant... en fait tu combine les 2 tri dans un seul vl-sort avec une condition pour les lignes... algorithmiquement parlant c'est quand même pas pareil sans doute aussi pour ça que ça me prend 50 lignes. bon la conclusion, c'est que je suis pas au point avec vl-sort.. enfin surtout avec la fonction de test qu'on met derrière. donc si je comprend bien, si 2 pts consécutifs sont sur une même rangée, on les classe par x, si non on classe par y... c'est juste l'inverse de ce que je faisait , mais c'est aussi beaucoup plus simple :) je vais ruminer tout ça car ces quelques lignes m'impose de revoir pas mal de mon raisonnement une fois de plus merci beaucoup pour ton temps et tes conseils...
  10. bonjour je voudrai classer des blocs (des rectangles) dans l'ordre naturel de lecture c'est à dire le premier en haut à gauche et le dernier en bas à droite. j'ai du mal à concevoir la moulinette qui va classer tout ça... je commence par trier suivant le Y puis je détermine si les blocs sont sur la même ligne avec une tolérance en fonction de la hauteur du bloc (on peut admettre qu'il n'y a pas plus de 80% de recouvrement) j'ai donc les blocs dans l'ordre des Y avec un N°de lignes je fait alors un trie en X des lignes. (j'en suis là même si je rame un peu pour l'écrire en lisp) je me demande si c'est pertinent, et s'il n'y a pas plus simple. merci pour vos lumières
  11. x_all

    cotes fond de forme

    bonjour sur un projet de multi plate forme, je travaille à partir des alti fini, et paramètre mes couches. Normal. Du coup, quand je fait apparaitre le cotation, les alti fini sont affichées aux sommets de la plt. je dois sortir un plan de terrassement, comment faire pour que les altimétries qui apparaissent sur le plan soit celles du fond de forme et non celle du fini? J'ai été alerté car l'entreprise conteste mes déblais/remblais car elle comptait faire les fond de forme sur les cotes du fini. j'ai beau l'écrire au dessus du cartouche, sortir les coupes ou je cote l'épaisseur globale des couches et où, sur les coupes toujours j'ai une ligne qui fait apparaitre les alti fond de forme, ils n'ont regarder que le plan, ne se sont pas posé de question sur les alti identique au RDC et ont râlé car ils y avait beaucoup plus de remblais que sur le DPGF... c'est vrai que pour un plan de terrassement indiquer le fini c'est moyen, le bonhomme qui conduit le bull à pas forcément une attention soutenue... même si...
  12. Merci beaucoup Tes réponses sont toujours des plus précises et éclairantes. Je me posait effectivement la question de la lecture, car j'allais me faire jeter pareillement dans l'autre sens. Pour l'utilisation du handle, j'avais noté qu'il était spécifique à la cession, mais je croyais pouvoir m'en servir. Ton conseil va m'éviter pas mal d'errance :) Je cherche à classer et à numéroter des blocs qui vont délimiter des cadres pour imprimer une mosaïque sur plusieurs feuillets. Les blocs ne sont pas forcément créer dans le bon ordre et pas forcément bien alignés. Il va donc faloir que je les classe par rangées puis l'ordre dans ces rangées. J'ai encore pas mal de boulot sur les fonctions de trie. Mais la précision de devrai pas être un problème Pour que ma routine soit exploitable sur des ZWcad et autres clones, j'aurai préférer le faire un pur autolisp. du coup je vais peut être abandonner l'idée de passer par des fichiers temporaire pour stoker mes résultats. On abandonner l'idée du tout autolisp ... surtout si je trouve des fonctions pour faciliter le trie en autolisp vl-sort à l'air fait pour ça Mais merci encore de répondre en ce début de Week end
  13. bonjour je voudrai écrire des listes dans un fichier. Mes listes sont définies par exemple (setq ent (car lsel) name (cdr (assoc -1 (entget ent))) PB (cdr (assoc 10 (Att-lst ent "PB"))) PH (cdr (assoc 10 (Att-lst ent "PH"))) Num (cdr (assoc 1 (Att-lst ent "NUM"))) ) (setq toto (list name PB PH Num)) ce qui me donne toto = (<Nom d'entité: 7ffff7a0510> (54.5 -66.6833 0.0) (83.3997 -46.5496 0.0) 2) je fait naïvement (setq file (open "D:\\test.txt" "w" ) ) (write-line toto file) (close file) et je me fait bien sur jeter à cause de l'argument toto qui n'est pas une string comment faire pour obtenir un fichier avec les lignes ? (<Nom d'entité: 7ffff7a0510> (54.5 -66.6833 0.0) (83.3997 -46.5496 0.0) 2) (<Nom d'entité: 7ffff7a0640> (16.0 -67.4833 0.0) (44.8997 -47.3496 0.0) 0) (<Nom d'entité: 7ffff7a0690> (142.5 -66.8833 0.0) (171.4 -46.7496 0.0) 6) (<Nom d'entité: 7ffff7a06e0> (94.8 -65.9833 0.0) (123.7 -45.8496 0.0) 6) si vous avez la solution, merci d'avance...
  14. slt. j'ai pas d'expérience de gestion de base de données, et n'ai qu'une vague idée des performance de PostGIS, SQLite. mais en tant qu'utilisateur de ces données j'avais trouver leur système de numérotation bien fichu. les nom des fichiers sont codé pour qu'on retrouve leur point sur une grille. Il me semble que faire un 1er trie pour savoir de quelles dalles on a besoin, ça diminuerai pas mal les temps de calculs. à moins de faire de trés grosse sélections.
  15. x_all

    Pose de poteau incendie

    la norme affnor est soumise a copyright... effectivement si tu n'as pas un abonnement type CD REF c'est un peu compliqué pour y accéder. par contre en tout a fait équivalent ya ça: http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC0QFjAAahUKEwiI5Yr_-IfGAhXHcRQKHVT_AJA&url=http%3A%2F%2Fwww.sdis62.fr%2Ffr%2Fcontent%2Fdownload%2F4824%2F32948%2Ffile%2FRecueil_equipements_PEI.pdf&ei=v6d5VciJIsfjUdT-g4AJ&usg=AFQjCNFViDpOyxkyO5nHpLhyo7tFz3_KUA&sig2=GzYd2DaVRmVjwEr50M-H1A&bvm=bv.95277229,d.d24&cad=rja
  16. x_all

    Pose de poteau incendie

    heu... j'ai du mal à comprendre ce qui te manque avec une recherche google sur NF S 62-200 .. si c'est la distance mini entre 2 poteaux, on parle usuellement de 150m par rapport à la dernière façade à arroser. Mais c'est un maximum car ça dépend pas mal du CIS du secteur. Dans les petits villages des alpes on m'a eu ramener cette distance à 100m rapport aux manches disponibles.
  17. x_all

    Dessiner le contour d'un bloc

    tien ya encore le vétomodo sur le forum 2016?
  18. x_all

    Dessiner le contour d'un bloc

    à tester, tu fait un cadre autour du bloc, puis une hachure par point sur l'extérieur du bloc, il suffit alors de récupérer la polyligne de contour de la hachure il faut que ton bloc délimite un contour fermé.
  19. x_all

    propriété bloc

    ils sont décomposables et sur les poste en 2009 et 2015 pas de pb... le mystère reste entier...
  20. plop appartement ça intéresse pas grand monde mais je continue à mon rythme... j'ai retrouvé le post sur les fonctions, et je commence à le mettre en pratique, pour changer une couleur donnée en ducalque j'en ai un peu suer mais ça à l'air de marcher. par contre je cherche toujours un moyen de trouver un point significatif sur un arc une spline ou une élipse... si qq1 à une idée, je suis preneur... le code à jour est ici
  21. x_all

    propriété bloc

    Bonjour j'ai installé des version 2014 (+Sp1) sur des pc (un seven et un 8.1). Tout tourne normalement sauf un truc, dans les propriété des objets, Quand je sélectionne un bloc, j'ai bien la la section "divers" ou normalement il y a le nom du bloc, mais là pas de nom... ça, ça ne serai que gênant... Là ou ça se détériaore, c'est avec les bloc dynamiques, je n'ai pas accès au propriétés. avez vous déja vu ça? une variable ou un "truc" pour palier à ce pb? merci
  22. si c'était si simple... je bosse avec un archi qui ne fait rien en 3d, j'ai donc mon 3d sur un fichier à part, et je doit rapatrier tout ça dans les plans clim qui sont en 2d sur les xref... si j'importe la 3d sur les 3 niveaux avec le boxon qu'il y a je plante tout (les xref sont pas propre) de plus le jour ou je doit donner les dwg, je préfère ne pas donner la 3d, les artisants sont pas forcément formés pour gérer des plans en 3d avec des vues en espace papier ect... il veulent des plans 2d cotés. Mais en dehors de toutes ces considération, j'airerai bien aller au bout car c'est mon 1er vrai programme.
  23. voila une idée qu'elle est bonne... J'entends déjà thierry.garré nous expliquer qu'on a tous les outils pour décaler en 3d des polylignes, mais l'idée que plateformes "prioritaire" permetrai de créer à la vollée des talus et de les faire varier sans tout redessiner... berf ce serai pas mal... j'ai un bouton pour changer la valeur de OSNAPZ. à 0 on s'accroche en Z en 1 non. quand tu sélectionne une plateforme et snape la poignée d'un point sur un sommet de l'autre plateforme, si OSNAPZ est à 0 tu replace en Z l'altitude du sommet sans pb. Il faut juste isoler les calques de plate forme pour être sur de ne pas s'accrocher au plan en 2D sous-jacent.
  24. plop ces histoires de calque ça me travaille quand même un peu... c'est dommage car cet outil pourrait être bien plus utile que ce qu'il est en l'état. J'ai donc essayer de faire un petit lisp pour remettre dans le calque d'origine les objets créés par la coupe ou la mise ne plan. Comme à mon habitude, j'ai fait une petite page d'explication sur la méthode à suivre pour que ça marche que vous trouverez ici voici le code ;| ccp pour remetre dans les bon canques les traits des coupes ou mise a plat recopier la coupe au dessus de la 3d (avec F8 actif pour figer les x) à une distance fixée. tapper 5 espace pour donner la valeur de ce pas ccp pour lancer la fonction. Pour l'instant seulle les lignes sont traitées Il faut forcer une couleur autre que ducalque au lignes crées dans la coupe ou le plan la précision est pas top, mais ça aide pas mal quand même Version 3 |; ;;;fonction de changement de pas de déplacement (defun c:5 (/ pas test) (setq test 0) (setq dir 0) (princ "\nPas du décalage des niveaux enregistré: ") (princ (getvar "USERR1")) (or (setq pas (getreal "\nChanger cette valeur ou entrée ")) (progn (setq pas (getvar "USERR1")) (setq test 1) (princ "\n pas de changement : ") ) ) (if (= test 0) (setvar "USERR1" pas) ) (princ "\n nouveau pas de décalage : ") (princ (getvar "USERR1")) (princ) ) ;;;fonction qui lance la procédure (defun c:ccp (/ lst-dxf tmp P1 P0 mod sel i elem enlist calquesource Pl1 Pl2 Pmid entcible entciblename entciblelst calquecible couleurcible om ) (setq om (getvar "osmode")) (setvar "osmode" 0) (setq tmp (getvar "USERR1")) (setq mod 0.05) (print tmp) (if (= 0.0 tmp) (princ "\nPour deffinir un décalage des déplacements tapper 5 puis entrée" ) ) ;;;jeu d sélection (setq sel (ssget) i 0 ) (command "_zoom" "et") (repeat (sslength sel) (setq elem (ssname sel i)) (setq entlst (entget elem)) ;;;test si ligne (if (= "LINE" (cdr (assoc 0 entlst))) (progn ;;; recupération du calque et de la couleur NOTA dans les paramètre de la coupe in faut forcer une couleur autre que ducalque (setq calquesource (assoc 8 entlst)) (setq couleursource (assoc 62 entlst)) ;;;calcul du point milieu (setq Pl1 (cdr (assoc 10 entlst))) (setq Pl2 (cdr (assoc 11 entlst))) (setq Pmid (list (+ (car Pl1) (/ (- (car pl2) (car pl1)) 2)) (+ (cadr Pl1) (/ (- (cadr pl2) (cadr pl1)) 2)) ) ) ;;; calcul des 2 pts pour la boite de sélection (setq Pb1 (list (+ mod (car Pmid)) (+ mod (* -1 (getvar "USERR1")) (cadr Pmid)) ) ) (setq Pb2 (list (- (car Pmid) mod) (- (cadr Pmid) (getvar "USERR1") mod) ) ) ;;;selection de l'entité cible extraction du calque (setq entcible (ssget "_C" Pb1 Pb2)) (setq entciblename (ssname entcible 0)) (setq entciblelst (entget entciblename)) (setq calquecible (assoc 8 entciblelst)) ;;;subsitution du calque (setq entlst (subst calquecible calquesource entlst) ) ;;;et de la couleur (if (not (assoc 62 entciblelst)) (princ) (progn (setq couleurcible (assoc 62 entciblelst)) (setq entlst (subst couleurcible couleursource entlst) ) ) ) ;;; modification de la ligne (entmod entlst) ) ) ;;;fin if (setq i (+ 1 i)) ) ;;;fin repeat (princ) (setvar "osmode" Om) (command "_zoom" "p") ) SI c'était possible, j'aimerai un peu d'aide pour finaliser le truc. Car en l'état c'est loin d'être parfait. la méthode que j'ai trouvé pour traiter les lignes (c'est le seul truc que j'ai réussi a faire) je place le bloc au dessus de la 3d exactement au dessus à une distance connue. il faut rentrer cette distance (je me sert de USERR1 car j'ai d'autre lisp pour les pan et copie qui marche avec cette variable) une commande "5" est définie pour ça On sélectionne les objets à traiter et on lance ccp. Le lisp parcours la liste de sélection, et pour chaque ligne calcule le point milieu, puis je sélectionne l'objet par une capture par 2 points situés sous ce milieu (à la distance pré renseignée). Cet objet capturé possède donc les propriété de calque et de couleur que je veux donner à la ligne D'abord, j'aurai aimé découper le tout avec des fonctions (defun ...) mais j'ai du mal à comprendre les appels de fonctions et je ne retrouve plus le post ou (gile), il me semble, détaillait comment on passe les argumentd et comment on retourne le résultat du traitement. Bon ça c'est pas violant... mais ça facilitera le travail pour traiter les différents types d'entités Plus délicat. j'ai des problèmes de précision car les entités se retrouvent pas forcement dans le bon calque. Peut être est ce du à la méthode que j'utilise pour sélectionner les entités "cible" qui sont celle dont je veux recopier le calque. Encore plus difficile, comment faire pour trouver un point sur un arc, une ellipse ou une spline? De plus en plus difficile, les couleurs. J'ai découvert au fil de mes pérégrination que le code DXF 62 qui enregistre la couleur d'une entité est tout simplement absent si cette entité est en couleur Ducalque. Donc comment insérer une couleur quand il n'y en à pas? j'ai bien essayer (append) mais ça n'a pas l'air de marcher. Il doit falloir l'insérer à la bonne place et c'est pas si facile. bref si les pro du codage qui trainent sur le forum pouvais me filer un coup de main, je vous en serai éternellement reconnaissant au passage si un modérateur pouvais déplacer ce post dans "débuter en lisp" svp merci
  25. une fois de plus, n'en jetez plus la cour est pleine... et une fois de plus, si ya de vrai bon sur autocad à mon désespoir j'en fait pas parti http://didier.duhem.pagesperso-orange.fr/routines.htm#Talus testé sur 2013... attention à bien tout déplier dans un répertoire déclaré dans le fichiers support d'autocad.Et de renseigner dans la boite de dialogue les distances entre les barbules en unité réelle.
×
×
  • 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é