Aller au contenu

Tramber

Moderateurs
  • Compteur de contenus

    8 500
  • Inscription

  • Dernière visite

  • Jours gagnés

    19

Tout ce qui a été posté par Tramber

  1. Tramber

    [Résolu] Objet "Solide"

    https://autocadtips1.com/2013/12/28/autolisp-convert-2d-solid-to-polyline-outline/ plus simple encore mais ne gère pas non plus les éventuels solides à trois points ;)
  2. Tramber

    [Résolu] Objet "Solide"

    La commande est SOLIDE à partir de 3 ou 4 sommets Il doit exister des lisp de conversion. Un lien un peu au hasard sur un site de confiance : http://www.cadtutor.net/forum/archive/index.php/t-53044.html
  3. Tramber

    Cadre objet OLE

    MAis au fait :mellow: Ca veut dire quoi un objet OLE de type PDF :huh: ?
  4. Tramber

    Cadre objet OLE

    Bonjour ! Variable OLEFRAME
  5. Ben c'est triste de vous lire. Je n'y connais rien mais j'ai horreur, moi aussi, du travail mal fait ! Et je suis de tout coeur avec vous. Parce qu'en plus pour faire du BIM bam boum il faut néanmoins des chaînes (dans le sens : des liens de qualité entre chacun des acteurs). Ca parait effrayant ce que vous dites, pas sur la qualité des dessins, mais sur la qualité intrinsèque des rendus.
  6. Pour savoir si cela peut venir du clavier ou souris, je propose de répéter la question à savoir si cela se produit avec les boutons de commandes d'une barre ou d'un ruban ?
  7. Oups, tu veux dire ? Avec le bouton de commande d'une barre ou d'un ruban (ou du menu!) ?
  8. Inconstance ? En fait il y a bien un ENTREE de trop qui valide le premier point, non ? Le PGP est-il propre, sans espace après le mot *DEPLACER ? C'est la première chose à vérifier. Après je sèche.
  9. Ton PGP doit être mal bricolé... ;) un espace de trop ou plusieurs ?
  10. Par défaut W lance WBLOC alors je ne comprends pas. DP est le raccourci historique. (peu importe) Mais y a-t-il un problème avec PICKFIRST, la variable qui devrait être à 1 ?
  11. ...cool ! tu voulais dire "formidables" :P Merci. Bon j'ai encore un peu de travail mais je vais enfin me reposer pour tout lâcher dans 10 jours pendant 15 avec camping et mini-club et garde d'enfants :)
  12. Pour généraliser, j'ai très honteusement adapté mon code dans la structure de sélection de Bonuscad Très pratique B) Je ne connaissais pas le 'vla-get-SolidType ou avais oublié. (defun c:xcyl ( / js n ent dxf_ent cyl dern p1 p2) (cond ((setq js (ssget '((0 . "3DSOLID")))) (repeat (setq n (sslength js)) (setq ent (ssname js (setq n (1- n))) dxf_ent (entget ent) cyl (vlax-ename->vla-object ent)) (cond ((= (vl-catch-all-apply 'vla-get-SolidType (list cyl)) "Cylindre") (setq dern(entlast)) (command-s "_explode" ent "" ) (while(and dern(setq ent(entnext dern))) (cond((="SURFACE"(cdr(assoc 0 (entget ent))))(setq dern ent)(entdel ent)) ((="REGION"(cdr(assoc 0 (entget ent))))(setq dern ent)(command-s "_explode" ent "" )) ((="CIRCLE" (cdr(assoc 0 (entget ent))))(setq dern ent) (setq p1(trans (cdr(assoc 10(entget dern)))dern 0) p2(trans (cdr(assoc 10(entget(entnext dern))))(entnext dern) 0) ) (entdel(entnext dern)) (setq dern nil) (princ(strcat"\nDistance="(rtos(distance p1 p2)2 2))); renvoie la distance ) ((setq dern nil)); pour protéger un peu la boucle de solides qui ne contiendraient pas de cercles ) ) (and p1 p2(entmod (append(entget ent)(list(cons 39(- (distance p1 p2))))))) ) ) ) ) ) (princ) )
  13. Je viens de modifier le code. Plus d'erreurs de distances grâce à la fonction trans et effacement du cercle superflu. A voir maintenant, faut-il faire dans l'autre sens ? éditer l'autre cercle ? Je suppose vraiment, qu'à l'explosion, le cylindre a un sens, autrement dit ma routine devrait être convenable pour un sens mais à revoir pour l'autre... Essaie voir, avant de généraliser.
  14. J'ai fait un bout de code, pour l'instant c'est pour 1 cylindre à la fois. Mais j'y reviens. (defun c:1cyl( / p1 p2) (setq voir(car(entsel))); sans filtre (setq dern(entlast)) (command "_explode" voir "") (while(and dern(setq ent(entnext dern))) (cond((="SURFACE"(cdr(assoc 0 (entget ent))))(setq dern ent)(entdel ent)) ((="REGION"(cdr(assoc 0 (entget ent))))(setq dern ent)(command "_explode" ent "")) ((="CIRCLE" (cdr(assoc 0 (entget ent))))(setq dern ent) (setq p1(trans (cdr(assoc 10(entget dern)))dern 0) p2(trans (cdr(assoc 10(entget(entnext dern))))(entnext dern) 0) ) (entdel(entnext dern)) (setq dern nil) (princ(strcat"\nDistance="(rtos(distance p1 p2)2 2))); renvoie la distance ) ((setq dern nil)); pour protéger un peu la boucle ;de solides qui ne contiendraient pas de cercles ) ) (and p1 p2(entmod (append(entget ent)(list(cons 39(- (distance p1 p2))))))) ) Il faut lancer 1cyl une fois chargé. Problème de distance, pas encore trouvé et cercle pas effacé. J'y retourne. Après, il suffira de généraliser. Aurait pu être pensé en VisualLisp...
  15. Wouahou ! Je suis enfin en vacances, et depuis des années maintenant que je ne peux plus publier dans les forums faute de temps avec mes deux jeunes enfants et mes projets, voilà que je réponds à une demande tout à fait étrange :P En somme tu te débarrasses de cylindres en solides pour les remplacer par des cercles épais, des cercles 2,5D comme on dit parfois ?! Plutôt facile même avec du bon vieux Autolisp a priori mais ma question est POURQUOI !? PS : j'ai compris la distance négative
  16. Bonjour Krisp. S'il s'agit d'agrandir les rayons des cylindres avant de les soustraire, on peut tout modifier dans la palette des propriétés en visant la propriété rayon ! J'ai essayé en vlisp, d'y accèder grâce à des fonctions de cette page, longuement mémorisée chez moi : http://cadxp.com/topic/32904-4-nouvelles-fonctions-autolisp-dans-a2012/page__p__176399__hl__dumpallproperties__fromsearch__1#entry176399 Mais impossible hélas sur ma 2016. C'est quoi donc ce rayon négatif, que l'on comprenne bien ? :P (Parce qu'en fait je n'ai pas compris je crois. on parle même d'une distance...)
  17. Tu as mis quoi en terme de PROJECTNAME ? Et quel travail as-tu tenté dans le gestionnaire de références du menu démarrer ? ;) Il faut déjà utiliser tous ces outils côté client comme côté... toi !
  18. Salut. Réponse très rapide. (eval toto) ou "(eval toto)" ne devrait pas bugger. Mais c'est vrai que je réponds à sec, n'ayant plus d'entrainement à répondre ;) Il y a aussi : (getvar "dwgprefix")
  19. Bonjour, Un premier jet pour aider : (defun c:COT_L_PT_O ( / pdep pfin donc) (setq pdep (getpoint "\nSpécifiez le premier point: ")) ;; point de départ (setq pfin (getpoint "\nSpécifiez le second point: ")) ;; point d'arrivée (setq aquel(getdist "\nDistance :")) (setq donc(polar pdep(+(angle pdep pfin)(/ pi 2))aquel)) (command "_cotlin" pdep pfin donc) ;; dessine la côte (princ) ) Mais il faudrait mieux gérer un peu les accrochages aux objets si tu sais le faire en lisp et être conscient aussi qu'une cotation linéaire peut ou doit être verticale ou horizontale.... alors ? ;) Il y a un départ au centre ? (pieuvre électrique) Alors réintégrer la boucle... EDIT : à tester (defun c:COT_L_PT_O ( / pdep pfin donc) (setq pdep (getpoint "\nSpécifiez le premier point: ")) ;; point de départ (centre de la pieuvre) (setq aquel(getdist "\nDistance :")) (while(setq pfin (getpoint "\nSpécifiez le second point: ")) ;; point de départ (centre de la pieuvre) (setq donc(polar pdep(+(angle pdep pfin)(/ pi 2))aquel)) (command "_cotlin" pdep pfin donc) ;; dessine la côte ) (princ) )
  20. Tramber

    dessiner un angle

    Aller voir aussi le mien : http://tutoriels.abcad.fr/3d/basketball/index En général, les tutos sur le net oublient de parler des SCU et des filtres de points. Or en matière de 3D, c'est plus facile de faire des copier-coller ou des modélisations d'un SCU à l'autre que de faire des rotations hasardeuses qui seraient toujours les mêmes pour plusieurs cas. Je dis ça comme ça. On oublie souvent aussi qu'un multifenetrage avec de bons réglages des UCSVP et UCSFOLLOW ou encore UCSORTHO, le dessin est encore plus direct.
  21. Attention, les instructions lisp en ligne de commande, mais tu le sais, utilisent leur propre logique de nombre de chiffres significatifs...
  22. Il y a d'autres fonctions pour traiter cela comme REM... Faut regarder dans les catalogues de l'aide : -fonctions arithmétique* -foncions logiques ..... Les fonctions lisp de base ne sont pas très nombreuses, moi j'avais un peu appris par coeur, même sans comprendre, quand j'étais jeune. Je te cite ainsi REM sans vérifier et espérant avoir bon mais de mémoire et avec le souvenir de peut-être ne l'avoir jamais utilisé B) Pour les affichages non pas dans la console lisp mais en ligne de commande et ailleurs, c'est sur qu'il faut lancer UNITES pour régler déjà cette précision dans chaque dessin.
  23. Hello, Chez moi cet aspect date de l'année 2000. A l'époque il y avait qqes sites en Français dont le coin des autocadiens. Il y avait aussi le petit livre "la cao par le menu", formidable. Très vieux (sans doute près de 30 ans aujourd'hui) déjà à l'époque. Le livre de Gilles doit être parfait pour débuter. Et après c'est que du labeur... euh, du bonheur ;) EDIT : je complète. Donc pour les bibliothèques. Elles sont fondamentales pour tester aussi un peu ligne par ligne si besoin des codes fournis. Mais le but est aussi de les oublier. Par contre une bibliothèque de sous-routines qu'on intègre dans ses affaires courantes, ça peut être bien aussi. C'est bien de se créer un corpus de petites fonctions au départ. Ou alors de se concentrer sur un seul projet de développement et le voir fleurir. Cumuler les codes qui ne sont pas les siens ne permet pas de progresser énormément.
  24. Coucou Parenthèse lisp (pléonasme !) (/ 1 3) c'est normal ; les entiers se divisent en entiers. Il faut au moins un réel dans l'opération. (/ 1. 3) suffit. ou (/ 1 3.) par exemple. Bon WE
  25. Tramber

    Sildes 3D-région

    Dans l'édition des solides il y a une option de la fonction pour séparer les corps. C'est elle qu'il faut utiliser si j'ai bien compris...
×
×
  • 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é