-
Compteur de contenus
4 029 -
Inscription
-
Dernière visite
-
Jours gagnés
21
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par DenisHen
-
Mille merci à toi (gile) ! ! C'est vraiment génial quand ça marche... J'ai encore un petit problème de sens (figure à droite ou à gauche...) Et un autre pour le cas ou "La" (largeur) égalle rien...Mais c'est génial ! ! Voici donc la routine corrigée : (defun c:PhPile () (setvar "cmdecho" 0) (setq p1 (getpoint "\nCoin de la pile : ")) (setq Ori (getorient p1 "\nDirection de la pile : ")) (setq Lo (getdist "\nLongeur de la pile : " p1)) (setq p3 (polar p1 Ori Lo)) (setq La (getdist "\nLargeur de la pile : " p1)) (if (= La 0) (setq La Lo)) (cond ((< La 0) (setq p4 (polar p3 (+ Ori (/ pi 2)) (abs La))) (setq p5 (polar p1 (+ Ori (/ pi 2)) (abs La))) ) ((= La 0) (princ "\nLa=0") (setq p4 (polar p3 (- Ori (/ pi 2)) (abs Lo))) (setq p5 (polar p1 (- Ori (/ pi 2)) (abs Lo))) ) ((> La 0) (setq p4 (polar p3 (- Ori (/ pi 2)) (abs La))) (setq p5 (polar p1 (- Ori (/ pi 2)) (abs La))) ) ) (command "-calque" "e" "Limites (Mur)" "") (command "_.pline" "_non" p1 "_non" p3 "_non" p4 "_non" p5 "c") (initget "Oui Non") (if (= (getkword "\nDessiner un croisillon ? (Oui/Non): ") "Oui") (progn (command "-calque" "e" "Limites (Mur Hachure)" "co" "8" "" "") (command "_.line" "_non" p1 "_non" p4 "") (command "_.line" "_non" p3 "_non" p5 "") ) ) ) Encore un grand MERCI à (gile) ! ! Denis...
-
J'ai oublié... Je pense que le problème vient de là : (setq Ori (atof (angtos Ori (getvar "AUNITS") 2))) Je n'arrive pas à rester en grades et dans le sens horaire avec l'origine au nord... Merci Denis...
-
Bonsoir à tous, Voilà, j'ai fait un petit Lisp pour dessiner un pilier (carré ou rectangulaire) en : - cliquant le premier point du pilier - cliquant sa direction - en cliquant ou en entrant la première dimension - en cliquant ou en entrant la deuxième dimension Si la deuxième dimension est négative, le pilier sera du coté gauche de la première ligne, sinon il sera à droite. Si la deuxième dimension est nulle, elle sera égalle à la première dimension (donc un pilier carré)... Alors voilà le code que j'ai fais... Mais il ne fait pas de pilier mais une sorte de trapèze... Je pose une question à la fin de la routine pour savoir s'il faut dessiner un croisillon dans le pilier.. Mais là Lisp me dit qu'il y a trop d'argument... Voici mon code : (defun c:PhPile (); (nom = PhPile) (setvar "cmdecho" 0) (setq p1 (getpoint "\nCoin de la pile : ")) (setq Ori (getorient p1 "\nDirection de la pile : ")) (setq Ori (atof (angtos Ori (getvar "AUNITS") 2))) ;(angtos ang (getvar "AUNITS") 4) (setq Lo (getdist "\nLongeur de la pile : " p1)) (setq p3 (polar p1 Ori Lo)) (setq La (getdist "\nLargeur de la pile : " p1)) (if (= La 0) (setq Lo La)) ;(princ "Ori= ") (princ Ori) (cond ((< La 0) (princ "\nCoté négatif") (setq p4 (polar p3 (- Ori 100) La)) ) ((= La 0) (princ "\nCoté positif") (setq p4 (polar p3 (+ Ori 100) Lo)) ;(setq p4 (polar p3 (+ (atof Ori) 100) Lo)) ) ((> La 0) (princ "\nCoté positif") (setq p4 (polar p3 (+ Ori 100) La)) ) ) (princ "\nPoint 5") (setq p5 (polar p1 (+ Ori 100) La)) (command "-calque" "e" "Limites (Mur)" "") (command "_.pline" "_non" p1 "_non" p3 "_non" p4 "_non" p5 "c") (initget "Oui Non") (if (= (getkword "\nDessiner un croisillon ? (Oui/Non): ") "Oui") ;(if (= Rep "Oui") (command "-calque" "e" "Limites (Mur Hachure)" "co" "8" "" "") (command "_.line" "_non" p1 "_non" p4 "") (command "_.line" "_non" p3 "_non" p5 "") ) ) Nota : je travail en grade, sens horaire et le nord en haut Ma ligne de menu qui configure mon dessin est : [Conven&tion topo]^C^C-unites;2;2;3;2;0,0;@0,1;O;pdmode;32;pdsize;.1;PLINEGEN;1;-couleur;ducalque;^C^Cfiledia;1;attdia;1;-typeligne;a;ducalque;;ecrangra;-calque;e;"Titre Cache";co;6;;t;a;;ch;0;; Un grand merci d'avance pour vos réponses... Denis...
-
Bonsoir à tous.... Voilà, mes diverses commandes Lisp dépandent de l'échelle du dessin, comme beaucoup de commandes surtout le texte.... Alors j'ai décidé d'écrire cette échelle dans le répertoire courant du dessin ( récupéré avec "DXGPREFIX" ) Toutes commandes lancées vérifiront si la variable "Ech" existe, si oui, j'en déduis le facteur d'échelle, pour les types de lignes, les textes..... si non, il faut ouvrir le fichier, s'il existe, . si oui, lire l'échelle . si non, demander l'échelle puis créer ce fichier puis y écrire l'échelle Alors j'ai écris ça, mais je suis sûr que c'est plein de fautes... J'aimerai être corrigé avant de continué (defun PhEch (Chemin Fichier / Ech); Saisi ou lecture de l'échelle (fonction) (setvar "cmdecho" 0) (if or (/= Ech 0) (/= Ech "") (setq Chemin (getvar "DWGPREFIX")) (setq Fichier (substr (getvar "DWGNAME") 1 6)) (cond (= (open (strcat Chemin Fichier ".ini") "r") nil) (setq Dossier (open (strcat Chemin Fichier ".ini") "w")) (setq Ech (getreal "Échelle du dessin (1/___) : ")) (write-char Ech Dossier) (t (setq Dossier (open (strcat Chemin Fichier ".ini") "r")) (read-line (Ech Dossier)) ) ) ;_ Fin de cond ) ;_ Fin de if ) ;_ Fin de defun (defun c:AdrCad1 (); Ecriture du Cadastre (Commande) (setq pt1 (getpoint "\nPosition du texte: ")) [surligneur]J'aimerai évité cette ligne, car la hauteur est liée à l'échelle exemple : Hauteur=Echelle*0,4[/surligneur] (setq HTxt (getreal "Hauteur du texte")) (setq TxtSec (getstring S "\nSection : ")) (setq TxtNum (getstring N " n° : ")) (command "texte" "j" "_mc" pt1 HTxt 100.0 (strcat TxtSec " n°" TxtNum)) ) ;_ Fin de defun
-
Oui, c'est possible, mais la marche à suivre dépent de ton AutoCAD, LT, 10, 12, 2000, 2000i, 2005, Map ? Tu peut programmer en VBA, en Lisp, ou encore à travers un SIG ( <- Map ) Mais cela a déjà été traité dans un forum... Je ne sais plus lequel... Bon courage Denis...
-
tblsearch et style de texte et de ligne ?
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Bon, en fait, j'essai d'arranger mon code, pour qu'il soit plus "court" ( qu'il y ait moins de condition...) et j'ai ça pour la fin de mon code...: (if (= TypLign "") (command "-calque" "e" Calq "co" Coul "" "") ) ;_ Fin de if (if (not (tblsearch "LTYPE" TypLign)) (command "-typeligne" "ch" TypLign "s:/config/phalène/phalène.lin" "") [surligneur] (command "-calque" "e" Calq "co" Coul "" "tl" TypLign "" "")[/surligneur] ) ;_ Fin de if ) ;_ Fin de defun Ma question est : Est-ce que ce qui est [surligneur] surligné [/surligneur] corespond à [surligneur] Else [/surligneur] dans cette boucle, ou est'il exécuté à la suite de (Command "-typeligne.......) ? J'ai beau double-cliquer avant et après les parenthèses... Je ne saisie pas.... Si je n'ai qu'une réponse à un IF, ma première ligne serait si OUI, ma deuxième serait si NON.......... Merci... Je patoge... Ca vous étonne ? ? Denis -
tblsearch et style de texte et de ligne ?
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Tu avais raison Gile, maintenant je suis ceinture bleue... C'est vrai que ça ne veut pas dire grand chose... ;) Merci encore.... Je me demande si en postant ma routine, elle fonctionnerait chez quelqu'un d'autre... (Avec le fichier LIN) Si quelqu'un en veux...... Pas de problème.... Denis... -
tblsearch et style de texte et de ligne ?
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
C'est génial ! ! Ca marche comme dans mes rêves ! ! Merci un milion de fois Gile ! ! ! Je m'amuse comme un petit fou ! ! :) Denis... -
Non, un style de texte.... Mais bon...CadXP no doit être ouvert que pour moi.... ;) Denis...
-
Pour vérifier l'échelle, car je pense que c'est un problème d'échelle, à moins que tu utilisue une autre application (comme TopoLisT de SETAM), tu change l'échelle de ta ligne, et tu essai : 0.01 puis 0.1, puis 1 puis 10, puis 100..... Si rien ne se produit, essai CACHE2 ou CACHEX2... Ouvres-tu un gabbarit quand tu créé ton dessin... Pour créer des type de ligne, c'est très facile tant qu'elle restent "simples" à savoir, des points, des traits et des espaces... ( l'aide d'AutoCAD est pas mal faite ). Un petit conseil, avant toutes tentatives de création de type de ligne, sauvegarde quelquepart ton fichier "acad.lin" qui se trouve dans le répertoire "supprot" je crois... Un autre petit conseil, ne jamais terminer un type de ligne par un espace "un vide"... Voilà, si tu veux, j'en ai créé quelques unes mais elle sont surtout pour la topographie... Bon courage, Denis...
-
Ouiiiii, c'est un CTB*... PC3 c'est pour l'imprimante... *CTB : Cours Tu Bosse ;) Denis...
-
Ou alors, tu tourne ton dessin comme tu le veux, tu note l'angle, tu sélectionne QUE LES TEXTES (ou alors tu sélectionne tout le dessin, puis tu filtre les textes ) puis, dans la propriété des textes, tu y colle ton angle... Sans le lisp, c'est une solution... Denis...
-
Si non, essais de créer un "profil" par défaut... Outils / Options / Profils Denis...
-
Il y a un autre moyen d'avoir des épaisseurs de ligne au tracer et ne jamais les supporter à l'écran... C'est de choisir une épaisseur de plume dans ton Pfichier "pc3" Exemple, une couleur qui est bien à l'écran sur fond noir mais on ne s'en sert quasi jamais car sur le papier elle ne se voit pas... C'est le jaune. Dans mon "pc3 je jaine se trace avec une épaisseur de plume de 0.3 et sur la "plume" noir (plume 7), mais à l'écran, c'est toujours du jaune (couleur 2) qui reste très visible (comme sur le papier.... C'est juste une autre solution/méthode de travail... C'est l'utilisateur qui utilise AutoCAD... C'est lui qui voit... Denis...
-
Si tu veux dire que ta polyligne comporte des "symboles" ou des "formes" et qu'il y en a au delà de la ligne.. Essais de changer l'échelle de ta ligne (ou polyligne). De 1 tu passes à 0.99 puis 0.98 puis 0.97 puis............. Ca devrait faire quelque chose...
-
Merci Gile, j'e travaille dessus en ce moment même... Mais elle ne réagit pas comme je le veux... Car elle tende de charger un type de ligne qui existe déjà, et là, BOUM... Je tente pour le moment d'insérer le tri d'un type de ligne existant avec tblsearch... Merci à toi.... Denis...
-
Bonjoir à tous, Voilà, débutant en Lisp, j'ai fait une petite routine qui créé des style de texte ( utilisés dans des lignes complexes ) , puis elle créé le type de ligne... Mais pour bien faire, il faudrait qu'elle vérifie si le style de ligne ou le type de ligne n'est pas déjà créé... je pense que le code pourait ressembler à ça : (cond ((= (tblsearch "TypeLigne" "") nil) (command "-typeligne" "ch" TypLign "s:/config/phalène/phalène.lin" "") ) ) Mais je dois me tromper... Si non, je fais un loto tout de suite ;) Denis...
-
Merci à toi Gile. Donc, si j'ai tout compris (ce qui m'étonnerait de plus en plus au vu des mes facultés ;) ) Ma routine s'écrirait comme ça : ;; Création de Calque avec couleur et Type de ligne (defun CreaCalq (Calq Coul TypLign /) (cond ((= Coul "") (setq Coul "7")) ((or (= TypLign "Communale") (= TypLign "Bordurechaussee") (= TypLign "Cloture-barbele") ) ;_ Fin de or (command "-style" "Cloture2" "simplex.shx" "1" "1" "0" "N" "N" "N") ) ((or (= TypLign "EDF-FT") (= TypLign "EDF-FT-Cable") (= TypLign "EauPotable") (= TypLign "EauUsee") (= TypLign "EDF") (= TypLign "FranceTelecom") ) ;_ Fin de or (command "-style" "Reseau" "simplex.shx" "1" "1" "20" "N" "N" "N") ) ((or (= TypLign "Cloture-beton-G") (= TypLign "Cloture-beton-C") (= TypLign "Cloture-beton-D") (= TypLign "Cloture-bois-G") (= TypLign "Cloture-bois-C") (= TypLign "Cloture-bois-D") (= TypLign "Vigne") ) ;_ Fin de or (command "-style" "Cloture1" "Phalene-Ligne.shx" "1" "1" "0" "N" "N" "N") ) ((or (= TypLign "Cloture-fer-G") (= TypLign "Cloture-fer-D") ) ;_ Fin de or (command "-style" "Cloture3" "RomanD.shx" "1" "1" "0" "N" "N" "N") ) ) ;_ Fin de cond (princ TypLign) (cond ((/= TypLign "") (command "-typeligne" "ch" TypLign "s:/config/phalène/phalène.lin" "") (command "-calque" "e" Calq "co" Coul "" "tl" TypLign "" "") ) (T (command "-calque" "e" Calq "co" Coul "" "tl" "continuous" "" "") ) ) ;_ Fin de cond ) ;_ Fin de defun ;|«Visual LISP© Format Options» (200 2 20 1 T "Fin de " 100 100 0 0 1 nil T nil T) ;*** NE PAS AJOUTER de texte au-dessous du commentaire! ***|; Si j'ai bon, je saut au plafond ! ! Merci... Denis...
-
Oui, je sais j'ai mis le temps..... Merci des millions de fois à tous ! ! !
-
Formatage de le fenêtre d\'édition ? ?
DenisHen a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Merci Gile, mais les commentaires ne me gènent pas, au contraire... Mais pourquoi il m'écrit plusieurs fois "Fin de cond" dans la même cond ? Denis... -
NNNNOOOONNNN !! !! !! !! !! C'est la commande [surligneur] foreach[/surligneur] qui m'a foutu dedans ! ! Cond ne lit pas toutes les condition, il s'arrête après la première vrai........ Parfois, je me demande si je ne devrais pas passer un scanner une un radio ! ! J'ai certainement des connection qu'on dûes chauffées..... C'est sûr... Merci BonusCAD.... Denis...
-
Bonjoir à tous... Je débute en Lisp et j'ai du mal avec la syntaxe, j'utilise donc, dès que je rajoute une parenthèse, la fonction de "Formatage de le fenêtre d'édition" Mais il m'écris plein de commentaires et mets des fins de lignes un peu partous. Ma question est : quel sont les données pour que le formatage soit lisible pour un novice... (Mon code est (je n'y ai ajouté aucun commentaire...) : ;; Création de Calque avec couleur et Type de ligne (defun CreaCalq (Calq Coul TypLign /) (cond ((= Coul "") (setq Coul "7")) ((or (= TypLign "Communale") (= TypLign "Bordurechaussee") (= TypLign "Cloture-barbele") ) ;_ Fin de or (command "-style" "Cloture2" "simplex.shx" "1" "1" "0" "N" "N" "N") ) ((or (= TypLign "EDF-FT") (= TypLign "EDF-FT-Cable") (= TypLign "EauPotable") (= TypLign "EauUsee") (= TypLign "EDF") (= TypLign "FranceTelecom") ) ;_ Fin de or (command "-style" "Reseau" "simplex.shx" "1" "1" "20" "N" "N" "N") ) ((or (= TypLign "Cloture-beton-G") (= TypLign "Cloture-beton-C") (= TypLign "Cloture-beton-D") (= TypLign "Cloture-bois-G") (= TypLign "Cloture-bois-C") (= TypLign "Cloture-bois-D") (= TypLign "Vigne") ) ;_ Fin de or (command "-style" "Cloture1" "Phalene-Ligne.shx" "1" "1" "0" "N" "N" "N") ) ;_ Fin de cond ((or (= TypLign "Cloture-fer-G") (= TypLign "Cloture-fer-D") ) ;_ Fin de or (command "-style" "Cloture3" "RomanD.shx" "1" "1" "0" "N" "N" "N") ) ;_ Fin de cond ) ;_ Fin de cond (cond ( (/= TypLign "") (command "-typeligne" "ch" TypLign "s:/config/phalène/phalène.lin" "") (command "-calque" "e" Calq "co" Coul "" "tl" TypLign "" "") ) (T (command "-calque" "e" Calq "co" Coul "" "tl" "continuous" "" "") ) ;_ Fin de T ) ;_ Fin de cond ) ;_ Fin de defun ;|«Visual LISP© Format Options» (200 2 20 1 T "Fin de " 100 100 0 0 1 nil T nil T) ;*** NE PAS AJOUTER de texte au-dessous du commentaire! ***|;
-
Merci à vous pour vos réponses... Bon, pour être concis, je répondrais en 4 points : 1. Gile, non je ne dormais pas encore... "cond" me travail ! ! Mais le bout du tunel n'est peut-être pas très loin... Si je comprend, cond serait une sorte de "IF" avec plusieurs conditions positives et une (T) aucune (s)condition(s) précédente(s) remplie(s) on aurrait (sans syntax) ;(cond ; ((première condition) (si remplie première exécution) (si remplie deuxième exécution) (........)) ; Fin première condition ; ((deuxième condition) (si remplie 1) (si remplie 2) (...)); Fin deuxième ; (or ; (Troisième condition alpha) ; (Troisième condition beta)); Fin OR ; (première exécution si alpha et béta remplis) ; (deuxième --- -- -- -- ) ; )Fin troisième condition ; (Exécution si rien n'a été rempli); Si T=nil non ? ; )Fin cond 2. BonusCAD, tes deux routines m'ont aidés à comprendre ce que je viens d'écrire pour Gile... Mais qu'à l'instar du "IF", si plusieurs conditions sont remplies, elles seront toutes exécutées... (le IF vérifie toutes les conditions, et, à la première positive, il exécute puis il sort du If ). Merci à toi... 3. Tramber, merci pour tes réponses... Mon problème, ce sont les ((())())()()()())()()())((..... (cond ((= Coul "") (setq Coul "7")) ;_ Fin de cond POURQUOI LA FIN ?.....non, c'est juste le début (or (= TypLign "Communale") (= TypLign "Bordurechaussee") (= TypLign "Cloture-barbele") ) ; ICI ON CLOT LE OR (command "-style" "Cloture2" "simplex.shx" "1" "1" "0" "N" "N" "N"); on lance la ou les commandes ) [surligneur] Mais tu ne me dis pas ce que ferme celle-là....[/surligneur] (or (= TypLign "Communale2") (= TypLign "Bordurechaussee2") (= TypLign "Cloture-barbele2") ) ; ICI ON CLOT LE OR commandes diverses ) [surligneur] Ni celle-là....[/surligneur] ....... ..... (T ; pour le dernier commandes diverses ) )FIN du COND Merci encore messieurs pour votre précieuse aide... 4. Si vous trouvez que je devrais retourner au VB, dite le moi... Je continurai seul.. :( Bon, je nourrie ma famille et je reviens... Mais ne vous énervez pas en me répondant ! ! Ce n'est pas mon but... Merci encore... Denis... ;)
-
Alors si je comprend bien (ce qui me semble de moins en moins évident) Si une condition est rempli, il exécute le ce qui suit, puis il sort de cond ? Alors cond serait comme un "Super IF"" ? Pffffff, je régresse ou bien ? Merci à vous... Denis...
-
Merci à tous les deux ! ! Je vois que je peux aisément faire mieux ! ! Le coup du double clique m'aide à 200% ! ! Bon, je vais me coucher, car cette nuit, j'ai épongé une canalisation de flotte jusquà 4 heure du matin ! ! J'ai donc dormis une petite heure... Là, j'ai les yeux fermés... Merci encore... Denis.... ( Là, je dors...)
