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

    De 3D au 2D Autocad 2011

    APLANIRGEOM et PLANDECOUPE peuvent t'aider aussi. Ce qui me dérange dans ses fonctions (comme les fonctions SOL d'ailleurs), c'est qu'on y retrouve pas nos calques et couleurs mais de nouveaux arrangements.
  2. Tramber

    OpenDCL et un lisp

    Autant pour moi pour le niveau, mais je croyais autre chose en lisant ta phrase. Bref. As-tu au moins un bouton OK quelque part dans la boite et dans le code qui fait un dcl_form_close ? Moi juste donné un exemple, le bouton "Picketage" qui permet d'aller dans le dessin avant que la boite ne se réaffiche. Ton code comporte une abbération : (dcl_Form_Close tmp_cmd_FORM) (setq rdi (dcl_Control_SetText tmp_cmd_FORM_TBOX2 (SelectText))) (setq TXT102 T) (dcl_Form_Show tmp_cmd_FORM) C'est invraisemblable que tu fermes une boite pour y faire un SetText avant de la réouvrir ! Tu dois gentillement faire ton (selectText), en sortir une valeur et initialiser la valeur à l'évènement OnInitialize de ta boite (dont je me demande si tu l'as implanté !) ? Fermer la boite momentanément, c'est pour donner des instructions à AutoCAD, pas au DCL. Tu comprends ? Un petit lien vers Object
  3. Tramber

    OpenDCL et un lisp

    Impossible de comprendre ton problème. A moins que, et cela m'effraie un peu, tu ne connaisses pas le lisp... Ou alors ton problème est que tu ne parviens pas à fermer la boite et la rouvrir ? Dans ma routine TEST : je remplace (Odcl_Form_Show boite_DclForm1) par (setq bOkPressed T) (while bOkPressed (setq bOkPressed nil) (defun c:.....DclForm1_Picketage_OnClicked () (odcl_form_close boite_DclForm1) (setq p1 (getpoint "\nPoint de départ :") p2 (getpoint "\nPoint de distance :" p1) ) (setq bOkPressed T) ) (Odcl_Form_Show boite_DclForm1) ) Il doit Tu peux créer un bouton (différent du bouton OK). Picketage par exemple ! J'ai regardé le tuto, il est trop léger. 2 solutions pour progresser : les forums http://www.opendcl.com/forum/ d'abord. Aller voir aussi le tuto d'Objectdcl avec sa documentation originelle. (attention, c'est bien oBJECTdcl).
  4. Tramber

    OpenDCL et un lisp

    Je crois que tu n'as pas encore compris le principe et que tu n'as pas été attentif à mon exemple : Une boite doit être initialisé par l'événement adéquat. Une boite doit avoir l'événement cliqué dans l'éditeur ODCL. Et cet événement est c:DclForm1_OnInitialize dans mon exemple. Encore une fois, tant que tu n'as pas réussi cela, ne vas pas plus loin :cool: Mon exemple Test est encore loin du niveau à atteindre car je n'ai pas voulu t'effrayer. (en même temps ca n'est pas l'ascension du Mont-Blanc !). Mais il représente un code avec l'intialisation de la boite. Pour les controles, je les interroge en sortie avec le bouton OK. Mais le mieux sera d'utiliser les OnkillFocus ou OnEditchanged respectivement des texbox et des combo pour surveiller les valeurs à l'évenement (l'édition par l'utilisateur de chacun). Cliquer sur le bouton OK ne doit être qu'une confirmation et l'envoi d'une fonction ou l'enregistrement définitif des valeurs surveillées ou bien encore les 2. Mais commence par ma fonction Test, on verra ce 2ème point plus tard. Ils n'ont pas de tuto sur OpenDCL ? [Edité le 6/12/2010 par Tramber]
  5. Sans blague :cool: Allez Tramber, reprends du café :cool:
  6. DesignScript sera-t-il l'extension de l'enregistrement de macros de la V2009 ? J'entends bien ce que tu exprimes, moi aussi, mais j'ai cette seule remarque : Autodesk a-t-il le choix ? Autocad est installé sur une plateforme PC et dans un environnement Windows. Si l'éditeur devait amener un nouveau language dans l'implémentation de son logiciel qui soit l'intermédiaire que tu sembles demander, ca serait lequel ? Je pose la question bêtement (car je suis assez ignorant dans le domaine). Enfin je trouve que ton article fait l'impasse sur ce qu'il s'est passé il y a 10 ans, l'implémentation ActiveX. Elle nous aide quand même à faire des applications très puissantes. Et cette implémentation est stable. Que du bonheur :cool:
  7. Salut ! Avec le peu de moyens que j'ai, j'arrive facilement à isoler : (("1" "1.3" "1.3.1" "1.3.1.1") ("1" "1.3" "1.3.1" "1.3.1.2") ("1" "1.1" "1.1.1") ("1" "1.1" "1.1.2") ("1" "1.2")) et ainsi de suite pour "2" et "3". Mais j'avoue que je bloque à traiter cette liste. Ce qui, selon moi, revient au problème principal. Bref, ma langue au chat à quart-parcours ! Mais je regarde encore un peu :cool:
  8. Tramber

    mapcar

    (mapcar '(lambda(x)(jplay x))lst1) Tout simplement. C'est la structure de base. Tu peux même écrire : (mapcar 'jplay lst1) Puisque la fonction ne contient qu'un argument ! (mapcar 'jplay (listLayers)) Serait encore plus joli si tu mettais lst1 en locale de listLayers et en l'ajoutant avant la dernière parenthèse !
  9. La commande TEXTUREMATERIAU est une usine à gaz. Il parait que la rotation ne marche que sur la projection plane mais j'avoue moi-même n'arriver à quelque chose qu'en suant énormément. Quand je veux vraiment ne pas m'arracher de cheveux, j'enferme les objets dans un bloc. Ca, au moins, je sais que ca marche. Mais reconnaissons que l'apprentissage des matériaux de ces dernières années est encore pire que sur les AutoCAD d'avant 2006 !
  10. Tramber

    probeme

    Salut, oui, c'est sur, c'était juste un conseil pour le débuggage. Désolé capde06, j'avais pas vu le coup de la description. Je confirme que la variable EXPERT n'y fait rien, on n'échappe pas au message. Pas de solution en ligne de commande si ce n'est donc une recherche complexe dans les tables pour prévoir les 2 réponses en ligne de commande.
  11. Tramber

    probeme

    Dans la commande -CALQUE (à préférer à CALQUE), il y a l'option "Etablir". Tu donnes un nom de calque, créé qu'il existe ou non. Un préalable sans soucis :cool:
  12. Tramber

    OpenDCL et un lisp

    Vite fait : je suis là une demie-heure. Ca t'arrange peut-être pour ce WE. (defun c:test() (defun c:DclForm1_OnInitialize () (Odcl_Control_SetText boite_DclForm1_TextBox1 (rtos 33.21 2 2)) (Odcl_ComboBox_AddList boite_DclForm1_ComboBox1 (mapcar 'rtos(list 1 2 35 21.2))) ) (defun c:DclForm1_Ok_OnClicked () (Setq rValue (atof (Odcl_ComboBox_GetTBText boite_DclForm1_ComboBox1))) (Setq rValue2 (Odcl_Control_getText boite_DclForm1_TextBox1)) (odcl_form_close boite_DclForm1) ) (Odcl_Form_Show boite_DclForm1) ) J'ai ici une boite DclForm1 du fichier boite.odc. J'ay ai créé une textbox et une combobox. Il faut lui cliquer la propriété OnInitialize. J'ai ajouté le bouton Ok et coché la propriété On_clicked. Pour le reste des formules, elles se trouvent dans les propriétés intelligentes (clic-droit sur le controle). Attention, je n'utilise pas Open, le vocabulaire est légèrement différent. Méfiance, j'ai fait l'alimentation de la combo, mais je n'ai pas choisi de selection, elle apparaitra vide, il faut ajouter un (Setq rValue (Odcl_ComboBox_SelectString boite_DclForm1_ComboBox1 sSearchString [as String])) dans l'initialisation si souhaité. Attention aux textboxes, il faut régler le filterstyle. Ne vas pas trop loin. Mairtriser les textbox est déjà long ! Avantage si tu connais les problématiques du DCL. Moi, je n'ai jamais eu le temps de l'apprendre, quel paradoxe !
  13. Clairement. Je dirais même qu'il n'y a pas d'unités pour les non-anglo-saxons. Sauf pour les blocs (ca n'était pas le cas en 2000). Tu y viendras. Et pour les espaces papiers (en millimètres) qui donnent, par l'intermédiaires de fenêtres, sur l'espace objet, lui-même sans unité (nous venons de le dire). Comme il est sans unité, on appelle ces unités, ....."des unités". Quand tu fais IMPRIMER, tu as bien un réglage entre la feuille et le dessin (entre mm et unités) ?
  14. Tramber

    OpenDCL et un lisp

    Oups, je reviens sur le début. Si tu parles bien d'un Tabcontrol, attention, cet objet cache ce qu'il y a en dessous. Je ne comprends pas bien le problème (premier message). Commence par du tout simple, genre une boite avec 1 ou 2 controles....
  15. Tramber

    OpenDCL et un lisp

    Il faut donner une propriété à ton bouton dans l'éditeur : c'est la propriété on_clicked. (defun c:F1_OK_OnClicked () (Odcl_MessageBox "To Do: code must be added to OK" "To do") ) Voici le code Odcl (je n'utilise pas Open) pour mon bouton OK. Ensuite tu remplaces le messageBox par ton code. Ici, dans le bouton OK, ca sera (odcl_form_close Besc_F1) pour fermer (normal, j'ai pris l'exemple du bouton Ok). Mais ca aurait pu être toto. Attention, il faut faire un load en mode debug pour voir s'appliquer l'événement. Et avoir enregistré le fichier Odc, off course ! En Odcl, on gère des événements. Ne pas baissser les bras, l'apprentissage est ingrat (et long, vraiment long) mais les résultats sont d'enfer :cool:
  16. Mon cher Didier, non, tu ne prêches pas dans le désert (avec tes chameaux.) Je suis sensible à ce discours. Je me souviens même d'une conversation assez récente sur une bizarrerie de calcul. Et tu en étais ! Mias cela parlait d'entiers. On touchait du doigt le problème des entiers longs. Je voulais juste me rassurer sur les moyens de sortir de l'ombre des valeurs après la virgule c'est bien réexpliqué ci-dessus. RTOS me convient moyen pour mon problème mais il n'y a bien que cette solution. Oui, c'est évident pour les 16 chiffres, il y a une différence quand il y a une importante partie entière. J'avais même créé, du temps de mes débuts les fonctions suivantes: Elles vérifient pour l'une qu'un chiffre et pour l'autre qu'un point valent presque zéro à ze ou n près respectivement. Je pense que tout le monde l'a déjà fait. (defun killzero (ki ze / ans ans2);(setq ki 100 ze 2) (setq ans 1) (if ( (repeat ze (/ 1.0 (setq ans (* 10 ans))))) 0.0 ans2 )) ;;;(killzeropt '(0 7 0.00000005) 4) (defun killzeropt (pti n / ) (cond((= (length pti) 2) (list (killzero (car pti) n) (killzero (cadr pti) n))) ((= (length pti) 3) (list (killzero (car pti) n) (killzero (cadr pti) n) (killzero (caddr pti) n))) ))
  17. Oui mais par prog ? C'est possible d'envoyer des instructions avec la variable EXPERT à 0 (si ma mémoire est bonne c'est elle qui permet d'outrepasser entre autres, ce message[voulez-vous actualiser le bloc?]). Sinon, on fait TBLSEARCH et on prévoie 2 instructions de commande. Je n'ai pas répondu tout de suite car je ne trouve pas ta demande claire. S'agit-il d'un dessin seulement, d'un bloc seulement, toujours le même ? Fais-tu la manip en ligne de commande -INSERER ou par la boite INSERER ? Le bloc est-il dans un dossier de support ?...etc Les solutions vont du script au lisp en passant par la macro sous un bouton. Tout dépend.
  18. Oui, c'est ça : ils prennent le contrôle de DIMZIN s'il veulent ce résultat, les anglish. Je cherchais une solution sans prise de contrôle de variable. Remarque, si vraiment c'est nécessaire, je peux faire tout bêtement : (vl-string-trim "0" a) Ok merci.
  19. Salut ; J'ai appris il y a peu par où passer. C'est par là Pour aller plus loin (et non pas Routines) aurait été le bon forum :cool:
  20. Tramber

    EXTRUSION OPTION CHEMIN

    Gloups ! En effet, c'est embêtant. Je viens de voir. J'ai même essayé avec "_p" (path) sachant très bien que le problème ne devrait pas se situer là. Sait-on jamais. Pas mieux :casstet:
  21. On se laisse tromper par ce que renvoie la console. Merci pour ces rappels. C'est bien ce que je me disais, la valeur n'est pas perdue seulement voilà, pour la voir restituer (sous forme de texte donc), il faut faire appel à RTOS et bien le régler (nombre de chiffre après la virgule). Mais si je prends un dessin avec cette foutue variable DIMZIN à 0 (y en a plein qui tournent en Europe :cool: ), RTOS me renvoie "16.01234560000000" Pas très joli à afficher. Sais-tu comment font les anglo-saxons pour maximiser le nombre de chiffres significatifs (16 je crois au max) sans pour autant afficher les zéros de fin de chaîne s'ils existent ?
  22. (setq A "16.0123456") (eval A) (distof loc) (distof loc 2) (atof loc) J'aimerais transformer la variable A en un réel et ne pas perdre les chiffres après la virgule, ni le 5ième, ni le sixième,.... Pourquoi déjà n'a-ton droit qu'à 4 chiffres significatif ? Où lire un peu là-dessus déjà ? Car enfin, si on traite des points, on a le droit à davantage, polar, par exemple, renvoie plus de chiffres après la virgule dans les X et Y..... Merci de me rafraichir un peu....
  23. Tramber

    F# ?!

    C'est pas pour faire le clown mais quand j'ai vu F#, j'ai pensé F### et me suis demandé pourquoi, (gile) tu te mettais à jurer et en Anglais. Véridique. :cool: Ca veut dire quoi en clair ? Qu'il apparait un nouveau langage ? Et qu'il sera plus facile de l'apprendre pour un mono-compétant lisp que le serait le C++ ?
  24. Tu l'as dit Boofy ! Moi le premier. Je laisse(ais) encore les SETQ dans des récursives et sans honte ! Je m'accroche néanmoins et si je n'arrive pas à apprendre, je fais des efforts (parfois vain) pour me souvenir et me cultiver. J'invite tout un chacun à le faire aussi. Il y a de quoi dans ce forum maintenant ! Manque juste le temps :P C'est bien le but. En effet, puisqu'à 28 jours elle est supposée décoffrée et possiblement en charge comme sous le calcul. J'ai forcé un peu sur le temps de prise et j'ai mis 28 jours comme un clin d'oeil. Comme je sais que tu connais le béton...
  25. Tramber

    Présentation AutoCAD WS

    C'est intéressant de te lire. tes propos sur les US sont clairs comme de l'eau de roche. Et donnent le sentiment qu'Autodesk a voulu entrer au club Mac contrôlé juste avant la date. Un test en cours ? :cool: Je suis fermé à tous ces objets (et contre trop d'ondes) et me contente de mon téléphone mais j'ai trouvé des infos. Je ne savais pas d'ailleurs qu'il y avait une appli PocketPC.
×
×
  • 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é