Aller au contenu

Fraid

Membres
  • Compteur de contenus

    2 523
  • Inscription

  • Dernière visite

  • Jours gagnés

    23

Tout ce qui a été posté par Fraid

  1. Bonjour, Pour les données géographique : IGN Et pour regrouper tout cela, Qgis est une bonne solution. Il y a de bon tutos sur Youtube. Cordialement
  2. Bonjour, Oui, bien sur, mais cela ne fonctionne pas tout le temps comme on veut, selon la distance et le nombre d'objets qu'on survole entre les deux. Merci.
  3. Merci Vincent, je n'avais pas vu cette particularité. Merci Gile, j'utilise vl-catch car c'est une usine à gaz dans la boucle, c'est pour moi plus facile. Problème résolu.
  4. Bonjour, Un petit problème que je n'arrive pas à résoudre. (while (not (vl-catch-all-error-p (vl-catch-all-apply '(lambda () (setq pt1 (getpoint "\n -> Premier Point: ")) (setq pt2 (getpoint "\n -> Deuxième Point: ")) (traitement_point pt1 pt2) ))))) Je suis donc dans une boucle qui s'interrompt quand on Echap, dans laquelle je choisis 2 points. Mon problème est que parfois, je suis incapable de prendre le 2ém point car je doit m'accrocher perpendiculairement à une projection. Si la plupart son dessinées en pointillé, il est difficile de les anticiper toutes. Je dois donc quitter la boucle pour dessiner le pointillé manquant. Penser vous qu'il existe un moyen de tracer une polyligne optionnellement entre les deux setq sans quitter la boucle? Car cela me gène énormément dans mon traitement de devoir le faire en plusieurs fois. Merci
  5. Fraid

    GESTION PHASAGE REVIT_NAVISWORKS

    Bonjour, Effectivement, il y a pas grand monde qui utilise le BIM. Les dinosaures à cravates n'y comprennent rien, déjà qu'ils avait du mal avec les SIG ... Cela va mettre des années à ce mettre en place et qu'ils y consacrent un réel budget. Les experiences aux quelles j'ai pu participer (en voies ferrées) étaient lamentables C'étais complètement inadapté. (AutoCAD / Revit) J'espère quand meme que tu va avoir un retour. Sinon un planning 5D, c'est quoi?
  6. Fraid

    Carte graphique

    Bonjour, Effectivement c'est financièrement intéressant, par contre il faut savoir que tu peux avoir des options de rendu grisées. Pour Autocad ce n'est pas grave. Par contre avec des logiciels comme 3dsmax c'est la catastrophe. Donc bien de se renseigner avant selon ton activité
  7. Cela fait réfléchir aux tests unitaires des fonctions. Hors contexte, biens souvent elle ne fonctionnent pas. Pour moi, la première expression est la bonne, surtout si elle est inclue dans une boucle itérant sur une big data. mais doit être lancé depuis une autre fonction pour être testée. (defun c:test (/ OldDIMZIN sResult int2str) (defun int2str(iNumber iNbZero) (substr (rtos (/ (float iNumber) (expt 10 iNbZero)) 2 iNbZero) 3 iNbZero) ) (setq OldDIMZIN (getvar "DIMZIN")) (setvar "DIMZIN" 0) (setq sResult (int2str 12 4)) (setvar "DIMZIN" OldDIMZIN) sResult )
  8. Bonjour, Merci pour cette découverte sympa. Par contre ta fonction ne fonctionne plus avec (int2str 100 4)
  9. Fraid

    VBScript Déprécié

    Je n'avais pas fait attention, mais effectivement ce n'est pas pareil. Dans ton exemple tu utilise VBScript et dans le mien WScript. Du coup l'objet WSH, instancié par WScript n'a rien à voir avec du VBS !!! je me suis fait avoir, car nous en trouvons une description dans la doc VBS qui l'utilise aussi ... Cela réduit l'impact. Encore merci Gile.
  10. Bonjour, Bien souvent, cela veut dire qu'il faut 2 blocs. Cela seras surement plus pratique, que d'essayer de créer une usine à gaz. Cordialement
  11. Fraid

    VBScript Déprécié

    Je sait bien que ce n'est pas passionnant. Mais vous êtes nombreux à être concerné sans le savoir. C'est un terrain défriché il y a quelques années par Patrick_35, sur lequel je me permet de planter ma tente. Il a utilisé cette technologie dans de nombreuses moulinettes utilisées encore aujourd'hui JAV, RBLOC, CPL .... Et il me semble qu'elles ne fonctionnerons plus. Je cherche une solution javascript. A voir !!!
  12. Fraid

    VBScript Déprécié

    Bonjour, Par exemple pour lancer un .bat ou un .py (defun runscr (file / obj ret) (setq ret T) (if (findfile file) (if (vl-catch-all-error-p (vl-catch-all-apply 'vlax-invoke-method (list (setq obj (vlax-get-or-create-object "WScript.Shell")) "Run" file 0 :vlax-false ) ) ) (setq ret "Fichier invalide") (vlax-release-object obj) ) (setq ret "Fichier introuvable") ) ret )
  13. Bonjour, Microsoft a décidé d'enlever VBS de Windows pour des raisons de sécurité. Voir ici Cela veut dire que (vlax-get-or-create-object "WScript.Shell") ne fonctionneras plus. (entre autre) Heureusement qu'il resteras la possibilité de l'installer. A long termes, je ne suis pas sur. Sinon, quelle serait l'alternative?
  14. J'ai modifié le lisp précédant. Beaucoup plus rapide, avec une boucle while qui permet d'économiser des itérations, et un allégement progressif de la liste d'association. Une partie des textes on été posés comme des étrons à coté de leur pot, donc intraitables de cette façon. Il est surement possible de traiter tout les blocs en cherchant le texte le plus près. Cela doit être super long et peux comporter de nombreuses erreurs quand les blocs sont rapprochés. Tcho
  15. Bonjour, Un petit challenge. Voici une solution qui en traite 13004. On peut ajouter des positions relatives dans la liste aux milieux du code. (vl-load-com) ; txt2z, Eleve un bloc selon le texte situé à une position relative au bloc. ; Le dessin ne doit contenir que les textes et les blocs concernés. (defun c:txt2Z ( / acobj acdc model ltext pt ld ind pos z cpt d pr) (prompt "\n Traitement en cours ...") (setq acobj (vlax-get-acad-object) acdc (vla-get-activedocument acobj) model (vla-get-modelspace acdc) ltext '() cpt 0) ; Création de la liste d'association ltext '((position_relative . z) ...) (vlax-for obj model (if (= (vla-get-ObjectName obj) "AcDbText") (setq pos (vlax-safearray->list (vlax-variant-value (vla-get-InsertionPoint obj))) ltext (append ltext (list (cons (strcat (rtos (car pos)) "," (rtos (cadr pos))); Position plus pratique en texte. (vla-get-textstring obj))))); Z ) ) ; Pour chaque bloc on cherche si il a une association avec la liste ltext. (vlax-for obj model (if (= (vla-get-ObjectName obj) "AcDbBlockReference") (progn (setq pt (vlax-safearray->list (vlax-variant-value (vla-get-InsertionPoint obj))) ; Liste des positions observées. ld '((0.5 0.15) (0.501 0.15) (0.5 0.151) (0.501 0.151) (0.499 0.15) (0.5 0.149) (0.499 0.149) (0.497 0.101) (0.496 0.105) ) ind 0 z nil) ; Tant qu'une position ne soit trouvée ou aucune. (while (not z) (setq d (nth ind ld) pr (strcat (rtos (+ (car pt) (car d))) "," (rtos (+ (cadr pt) (cadr d))))) (if (setq z (cdr (assoc pr ltext))) (progn ; Elévation du bloc (vla-put-InsertionPoint obj (vlax-3d-point (list (car pt) (cadr pt) (atof z)))) ; Suppression de la position dans la liste. (vl-remove pr ltext) (setq cpt (1+ cpt)) ) ) (setq ind (1+ ind)) (if (= ind (length ld)) (setq z T)) ) ) ) ) (princ (strcat "\n Nombre de blocs traités -> " (itoa cpt))) ) Taper txt2z attendre un peux ...
  16. J'avais compris sur les poignées... Sinon c'est de la trigo. Mais il faut aller lire les coordonnées du point d'après. Ce qui te permet de calculer l'angle du segment, puis avec la distance entre la premiere poignée et le point, la difference de hauteur.
  17. Bonjour, Pour avoir la liste des points ; getpt3dpol, récupère la liste des points d'une polyligne 2D ou 3D (defun getpt3dpol (ent / n pts) (setq n (1+ (fix (vlax-curve-getEndParam ent)))) (repeat n (setq pts (cons (vlax-curve-getPointAtParam ent (setq n (1- n))) pts))) ) (getpt3dpol (car (entsel "\nSéléctionnez une polyligne"))) Cordialement
  18. Fraid

    ACAD.PGP

    pour completer Si tu veux partager des fichiers de support, je conseil de créer une architecture commune sur chaque poste du genre c:/Data/support qu'on ajoute au chemin de recherche de fichiers de support dans les options d'Autocad. Tu te met sur le serveur, et utilise un .bat de ce style. @echo off set "source=C:\chemin\vers\le\fichier\source.txt" set "destination=C:\Data\support\" for /f "tokens=*" %%i in ('net view ^| findstr /B "\\"') do ( xcopy "%source%" "%%i%destination%" /Y )
  19. Fraid

    ACAD.PGP

    Bonjour, Je ne suis pas sur que cela soit possible et soit une bonne idée. Plus il y a de liens Autocad / server, plus les performances réseaux baissent. Mes essais avec des palettes partagées étaient catastrophiques pour exemple. Je préfère propagé un fichier sur chaque poste. Et perso., je ferais le tête si on m'imposerait des raccourcis. Cordialement
  20. Fraid

    Modification de pièce 3D

    Bonjour, Je pense que tu doit utiliser l'inverse de ta pièce en rose. C'est à dire un objet qui est l'empreinte de celle ci ayant une épaisseur suffisante.
  21. Bonjour, A tu essayé de changer l'ordre de construction de ton bloc? C'est bien souvent important. Le fait d'ajouter en premier le dynamisme de rotation à ton bloc par exemple, il faut mieux le mettre après un étirer ou déplacer. Pas sur d'être clair.
  22. Fraid

    Base de données

    Bonjour, Je n'y connais rien en Autocad Archi., mais généralement, quand on perd ou modifie un fichier important, nous pouvons le récupérer en réparant le logiciel en passant par Windows/Paramètres/Application , clic droit sur ton appli puis réparer. Bonne chance.
  23. Bonjour, Il faut que tu encapsule tout ce que tu veux faire si c'est oui, dans un progn. (initget 1 "Oui Non") (setq hourdisnégatif (getkword " Plancher + Hourdis négatif ? [Oui/Non]:")) (if (= "Oui" hourdisnégatif) (progn (setq hthourdis (getint " Epaisseur hourdis ?")) ; Trait d'axes hourdis négatif (setq p17 (polar p15 (angle p1 p0) 25)) (setq p18 (polar p16 (angle p0 p1) 25)) (command "ligne" p17 p18 "") ; Dessin hourdis négatif (setq p19 (polar p13 (angle p1 p2) 2)) (setq p20 (polar p19 (angle p0 p1) hthourdis)) (setq p21 (polar p15 (angle p0 p1) hthourdis)) (command "ligne" p13 p19 p20 p21 "") );fin du progn (= "Non" nil) ) Bon courage et n'hésite pas à poser des questions
  24. Merci Messsage perso envoyé. 😉
  25. Bonjour, [hors sujet] Si on fais un sondage avec cette question : Répondez vous aux sondages? Pensez vous qu'il y aurais des réponses non?
×
×
  • 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é