Aller au contenu

phil_vsd

Membres
  • Compteur de contenus

    464
  • Inscription

  • Dernière visite

Tout ce qui a été posté par phil_vsd

  1. Merci à vous. C'est vrai que de passer par les DXF c'est plus long mais il me semble plus précis. Quant aux codes de Formula1 je les ai transformés pour qu'il passent : (defun c:alpha () (command "layer" "n" "alpha" "co" "1" "alpha" "tl" "continuous" "alpha" "ep" "0.5" "alpha" "") ) "lw" est passé en "ep" "l" est passé en "tl" A bientôt.
  2. Bonsoir tous, Là je me frappe la honte du siècle mais je dois l'avouer... je ne sais pas créer un calque en lisp. J'ai beau chercher mais tout ce que je trouve ne marche pas... Je voudrai créer un calque avec une couleur précise,disons le 1 pour le rouge, avec un type de ligne dots, echelle 0.5 et épaisseur 0.18 . J'ai cru comprendre que tout se passait comme sur la ligne de code en entrant les argumants les uns après les autres... Mais j'ai des message d'erreurs. En plus, selon les topic que je récupère sur Cadxp, parfois la syntaxe change... Un coup y'a des tiret devant les commandes, parfois des underscore (tiret du 8)... Un coup des guillemets pour les arguments, parfois non... Quelqu'un peut formater mon esprit une bonne fois pour toute ? Voilà mon lisp : (defun c:ccalque () (setq nl (getstring "Nom du calque ? :")) (command "-calque" "n" nl "_co" 1 "" "") ) Merci à vous. PS Edit : j'ai lu le post de Fomula1 mais même en faisant un copier coller de la réponse de (gile) je n'ai pas le résultat escompté... Ouverture du manager puis plus rien... Commande: BETON-CSP-COUPE Commande inconnue "BETON-CSP-COUPE". Appuyez sur F1 pour obtenir de l'aide. .../... [Edité le 24/2/2008 par phil_vsd]
  3. Qué couillon je suis. A force de chercher partout on oublie qu'il y a l'aide là juste sous la main. Bien. Merci pour tout j'ai assez à faire maintenant pour mouliner tout seul dans mon coin. Pas mal ton site ! Très Pythagoricien l'index. Check mine : http:// www.provencedesign.fr A+ [Edité le 23/2/2008 par phil_vsd]
  4. Donc la traduction de la première ligne est Mettre dans la variable "ss" tout les blocs insérés dont le nom est SGAD et qui se trouveront dans le rectangle de sélection qui va de (397 3) à (397 3). Exceptionnellement ce "rectangle se réduit à un point. La deuxième ligne est : Copier tout ce qui a été sélectionné en "ss" de (397 3) 'vers (700 200) (Gile), t'as un lien qui explique la syntaxe de ces trucs là : (0 . "INSERT") (2 . "SGAD"). Ce sont des code DXF ? Apparement cela sert à sélectionner des entités en fonctions de certaines conditions. Ici, des bloc insérés dont le nom est... Si nous avions voulu sélectionner des plines dans un espace plus grand dont la couleur est rouge nous aurions mis : (setq ss (ssget "_C" '(0 0) '(9999 9999) '((0 . "pline") (2 . "1")))) Quelle est la fonctionnalité de (ssget "_x" etc..) ? Le X sert à étendre la sélection à tout l'espace ? PS : Je me sert de AIDACAD mais les DXF ne sont pas si bien expliqué, combien de DXF à la suite on peut mettre pour affiner sa sélection ? Merci ! [Edité le 23/2/2008 par phil_vsd]
  5. Hello, Sur une versoin FULL, je fais fichier Nouveau, je créé unbloc SGAD que j'insère aux coordonnée ( 397 3 ) ce lisp marche sans problème : (defun c:ccart () ;Finalisé sur version FULL (foreach p (layoutlist) (setvar "CTAB" p) (if (setq ss (ssget '(397 3) '((0 . "INSERT") (2 . "SGAD")))) (command "_.copy" ss "" '(397 3) '(700 200)) ) ) ) Et celui-ci aussi (defun c:ccart2 () ;Finalisé sur version FULL (foreach p (layoutlist) (setvar "CTAB" p) (setq ss (ssget "_C" '(397 3) '(397 3) '((0 . "INSERT") (2 . "SGAD")))) (command "_.copy" ss "" '(397 3) '(700 200)) ) ) Par contre, sur un DWT existant dont je me sert tous les jours, le premier ne marche pas, mais le second oui... Le premier se charge, teste les présentations mais ne sélectionne rien ni ne copie. Je me suis dit que cela viens du fait que les variables sont les même d'un programme à l'autre. Alors je resteste les prog avec des variables renommées. Donc 1er lisp : (defun c:ccart () ;Finalisé sur version FULL marche pas sur gabarit SGAD (foreach p (layoutlist) (setvar "CTAB" p) (if (setq s1 (ssget '(397 3) '((0 . "INSERT") (2 . "SGAD")))) (command "_.copy" s1 "" '(397 3) '(700 200)) ) ) ) et le deuxième : (defun c:ccart2 () ;Finalisé sur version FULL sur DWT de la sgad (foreach p (layoutlist) (setvar "CTAB" p) (setq s2 (ssget "_C" '(397 3) '(397 3) '((0 . "INSERT") (2 . "SGAD")))) (command "_.copy" s2 "" '(397 3) '(700 200)) ) ) Résultats : Sur mon fichier gabarit le 1er copie rien (NIL en sélection) mais le 2ème marche correctement. Sur fichier nouveau (acad.dwt) : les deux marchent... Je reteste lundi sur la version LT. Merci à bientôt. PS : Le visual lisp est génial ! [Edité le 23/2/2008 par phil_vsd]
  6. Bizarre rien ne se passe... Le bloc ne se copie pas. J'avais déjà imprimé ton cours sur le visual mais au travail on vole sur une LT qui va perdre une aile dans pas longtemps. On vole pas en visuel, tout au bloc-note version old-school Je ne comprend pas la condition "if", elle veut dire "Si dans cette page courante il y a un bloc nommé SGAD aux coordonnées 397 3 alors le copier vers 700 200" ? Qu'il n'y ai qu'une présentation ou plusieur, il les passe en revue mais ne copie pas les blocs demandés. J'y retourne...
  7. re... J'ai plusieurs messages d'erreur. Certains peuvent être corrigés par rajout de parenthèse mais d'autres apparaissent. Je crois que c'est dans la liste que ça coince. ; error : invalid-identifier <(COMMAND "_.copy" SS "" '(397 3) '(700 200))> ; expected at [sETQ] J'ai ça dans mon lisp : (defun c:ccart ) (foreach p (layoutlist) (setvar "CTAB" p) (if (setq ss (ssget '(397 3) '((0 . "INSERT") (2 . "SGAD")))) (command "_.copy" ss "" '(397 3) '(700 200)) ) ) Je ne vois pas quoi qui coince...
  8. Mesdames, Messieurs, Je suis à la bourre sur un lisp... Je me suis perdu. http://xs124.xs.to/xs124/08085/acadbloc173.png J'ai des présentations avec cadre, fenêtres et cartouche. Sur la même présentation j'ai aussi sur la droite de l'écran un petit cadre qui contient la liste de touts les plans et une copie du bloc cartouche précédement cité. Quand j'imprime le A3 j'imprime aussi le A4 que je joins. Mon bloc qui me sert de cartouche est appelé "SGAD" dont le point d'insertion est (397 , 3 ). Je voudrais qu'il se copie au sein de la même présentation au point d'insertion (700 , 200). A l'intérieur de ce bloc il y a des attributs propres à la présentation que je voudrais garder d'un bloc à l'autre. Il faut donc : - ouvrir une par une les présentations - copier le bloc SGAD qui se trouve aux coordonnées citées plus haut vers les nouvelles coordonnées. - Attention, s'il y a déjà un bloc copié à cet endroit là il faut qu'il soit effacé afin de le remplacer car les informations évoluent. Ou alors copier tous les attributs du premier vers le clone... - Lancer une impression dont la mise en page s'appelle "Cartouche A4 PDF" (Cette mise en page est déjà mémorisée dans mon DWT.) - Passer à la suivante. Merci pour votre coup de main. (Gile) je me suis inspiré de tes conseils mais je patine à mort sur ce coup là... Je manque de temps.
  9. Heu j'suis largué... mais faut raccorder avant de décaler afin d'avoir qu'une polyligne à traiter... Je ne sais pas encore raccorder une suite de pline ayant une extrémité en commun. A suivre...
  10. Merci les gars ! Voilà le lisp finalisé et commenté pour les futurs prétendants au lisp... ; LISP Finalisé et testé ;Créé une canalisation en fonction de l'axe et du diamètre (defun c:cana (/ p1 p2 p3 p4 li li2 li3 dc delta curlay) (setq delta 1) (setq curlay (getvar "clayer")) ;on stocke la variable du calque courant en mémoire (setq ortho (getvar "ORTHOMODE")) ;on conserve la valeur initiale dans ortho (setvar "ORTHOMODE" 1) ;on passe en mode ortho actif (setq p1 (getpoint "Premier point SVP : ")) ; demande le premier point de l'axe (setq p2 (getpoint p1 "Deuxième point SVP : ")) ;pour avoir un élastique entre les points (setvar "ORTHOMODE" ortho) ;on repasse en mode ortho avant le changement (Setq dc (getreal "Diamètre de la canalisation ? : ")) ;demande le diamètre de la canalisation (Setq dc2 (/ dc 2)) ;Le dimaètre de la cana sera divisé par deux pour le décalage (command "_.layer" "_make" "0 Axes" "") ;création du calque "O axes" (setvar "clayer" "0 Axes") ;Changement de calque courant (command "_.pline" p1 p2 "") ;création de la pline en fonction des points choisis (setq li (entlast)) ;Mise en mémoire de l'axe ainsi créé. (command "_.layer" "_make" "0 Cana" "") ;création du calque "0 cana" (setvar "clayer" "0 Cana") ;passe le calque courant en "0 cana" (setq p3 (list (-(car p1) delta) (+(cadr p2) delta))) ;on stocke en mémoire l'abcisse de P1 et l'ordonnée de P2 avec un delta (setq p4 (list (+(car p2) delta) (-(cadr p1) delta))) ;on stocke en mémoire l'abcisse de P2 et l'ordonnée de P1 avec un delta (command "_.offset" dc2 li p3 "") ;commande de décalage de l'axe vers un coté (setq li2 (entlast)) ;mise en mémoire de li2 (command "_chprop" li2 "" "_layer" "0 Cana" "") ;on change les propriétés de la dernière entité (command "_.offset" dc2 li p4 "") ;commande de décalage de l'axe vers l'autre coté (setq li3 (entlast)) ;mise en mémoire de li3 (command "_chprop" li3 "" "_layer" "0 Cana" "") ;on change les propriétés de la dernière entité (setvar "clayer" curlay) ;on remet le calque courant dans l'état initial (princ) ) PS : Apparement le lisp de Bonuscad marche sur LT extender même s'il comporte des VLA ... [Edité le 21/2/2008 par phil_vsd] [Edité le 21/2/2008 par phil_vsd]
  11. Hello tous, Je viens de faire ce petit lisp. Il sert à cliquer sur deux points pour créer une pline puis cette pline est décalée de chaque cotés pour dessiner une canalisation. 1- Comment faire pour que le choix du deuxième point se fasse en mode ortho ? 2-Comment faire pour que les deux plines décalées soient transférées sur le calque "0 cana" ? (defun c:canal (/ p1 p2 p3 p4 li li2 li3 dc delta) (setq delta 1) (setq p1 (getpoint "Premier point SVP : ")) ???????????????????????????????????????????????????????????? (setq p2 (getpoint "Deuxième point SVP : ")) (Setq dc (getreal "Diamètre de la canalisation ? : ")) (Setq dc2 (/ dc 2)) (command "_.layer" "_make" "0 Axes" "") (setvar "clayer" "0 Axes") (command "_.pline" p1 p2 "") (setq li (entlast)) (command "_.layer" "_make" "0 Cana" "") (setvar "clayer" "0 Cana") (setq p3 (list (-(car p1) delta) (+(cadr p2) delta))) (setq p4 (list (+(car p2) delta) (-(cadr p1) delta))) (command "_.offset" dc2 li p3 "") (setq li2 (entlast)) ???????????????????????????????????????????????????????????? (command "_.offset" dc2 li p4 "") (setq li3 (entlast)) ???????????????????????????????????????????????????????????? (princ) ) Merci !
  12. phil_vsd

    While ? Zerop ?...

    Merci les gars ! J'ai l'impression d'être un pilote d'ULM escorté par la Patrouille de France au milieu de CB ! PS : restez à portée de click... Cette semaine sera la semaine du LISP chez Phil'
  13. Hello tous, A quoi cela sert-il ? Le command pause je me doute mais le while... (while (not (zerop (getvar "cmdactive"))) (command pause) ) Merci a vous !!
  14. phil_vsd

    Attsync everywhere !!

    Merci beaucoup (Gile), Ca marche super bien. Je n'avai pas osé demander les ocmmentaires qui vont avec mais tu as anticipé le coup. Mon autre truc est de tester toutes les fenêtres des toutes les représentation et de les mettre en : Couleur "du calque" et épaisseur "0.18" Je m'inspire de tes lisp sur Cadxp puis sur les dicussion d'Autodesk. Je t'y ai piqué déjà quelques idées... A bientôt.
  15. phil_vsd

    EXPRESS ET LT2007

    Salut tous. Pour mettre les express sur LT j'ai copié le le fichier acetmain que l'on trouve dans la zone téléchargement "Express tool en français". Je l'ai chargé comme un fichier cui partiel. Mais toutes les fonctions ne seront pas actives je crois... A tester...
  16. Hello, Un DLL est un petit bout de programme qui sert à une chose bien précise : par exemple aggrandir ou fermer une fenêtre, créer une ligne... Il se peut que sur le CD d'installation il y ait une partie endommagée et le petit DLL ne s'est pas bien copié sur le PC. Fais une demande d'échange de CD auprès du revendeur. Sinon si tu as le nom de la DLL manquante on peut te l'envoyer par mail. Tiens nous au courant.
  17. Bonjour à tous, Je me suis mis au lisp mais mes prétentions n'ont même pas l'ambition de me permettre de résoudre vos challenges les plus simples. Je me contente de changements de calques courant... J'ai constitué pas mal de blocs avec des attributs, eux même paramétrés par des styles de textes. Au fil du temps mes attributs ne sont pas "centrés" comme ils devraient l'être au milieu du bloc. Pouvez-vous me créer un petit programme qui analyserait tous les blocs avec attributs et leurs appliquerait un ATTSYNC. J'ai des blocs-attributs sur toutes mes présentations et y'en a environs une quinzaine par dwg. Merci d'avance. PS : Votre petit bout de code me permettra de surfer vers une autre petite idée que j'ai en tête.
  18. Hello, Je confirme que le lisp fonctionne bien sous LT mais en mettant LT extender. Pas tout les lisp marchent mais ceux de Patrick_35 pour les onglet oog et ong marchent bien.
  19. Pour te remercier je cherche des superlatifs mais je n'en trouve pas... Ca marche vite et bien. Merci Docteur !
  20. Bonjour à tous. Quelqu'un peut-il me faire ce lisp SVP. J'ai essayé mais je ne suis décidément pas assez fort, et n'ai ni assez de temps devant moi. Sur le calques courant avec la cotation définie comme courante je voudrai cliquer sur deux points, avoir la cote alignée de ces point, la placer à la distance que je veux puis une fois placée, pouvoir remplacer le texte de cette cote sans passer par les Propriétés. Puis passer à la cotation alignée suivante sans quiter le lisp en cours pour autant. Je dois avoir 250 cotes à placer d'ici demain soir... Gateau sous la cerise... Je suis en AutoCAD 07 LT avec LT Extender... Certains lisp passent d'autres un peu moins... Merci à vous. [Edité le 5/2/2008 par phil_vsd]
  21. phil_vsd

    talus

    Hello, Tu peux te faire payer LT Extender puis mettre un lisp "Talus" qui traîne par là... Je te fais signe dès que je retrouve...
  22. Salut tous. J'utilise des blocs où le champs est la valeur des ordonnées du point d'insertion du bloc. Sur une vue 2D cela me donne une altitude par rapport au SCU qui mon niveau O "NGF" Bye.
  23. phil_vsd

    Problème de Hachures

    Hello. Si tu veux je te mail mon fichier PAT pour voir s'il marche. Envoie moi un MP si tu veux. Bye. [Edité le 3/12/2007 par phil_vsd]
  24. phil_vsd

    Bad Block

    Bonjour, Quelqu'un saurait ce que sont ces informations : $AUDIT_BAD_BLOCK_RECORD1 J'ai des soucis d'erreurs fatales et lors de la récup j'ai ce message. Comment y remédier ? Merci à vous.
  25. Bonjour tous, Je poste un sujet un peu hors norme. J'ai un ouvrage de 8.5 m² d'emprise au sol (2.5 m x 3.5 m) et une charge de 4500 kg au m², quelqu'un peut me donner les dimensions de la dalle béton nécessaire pour soutenir l'ouvrage et le type de ferraillage à mettre dedans. Il esixte déjà une dalle béton mais nous ne connaissons pas l'épaisseur. Merci d'avance !
×
×
  • 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é