Jump to content

Recommended Posts

Posted

****Code needs a layer called note to be made already****

 

What I want to do is to present the options the same way AutoCAD does with its own comman options, for exemple in the text command:

 

[Align/Fit/Center/Middle/Right/TL/TC/TR/ML/MC/MR/BL/BC/BR]:

 

Is possible to do something similar. The advantage is that the user can see the options and these reduces the errors. Is it also possible to set mnemonic shortcuts (like the uppercase in the above native command, A, F, C, M, R and so on) and the user can indicate a choice by typing (only) the mnemonic character. Any pointers would be helpful. Thanks in advance.

 

This is my program and what I want it to do is instead of typing in what material is to be used, the user could pick from a selection and it would be input automatically rather than typing.

 

For exapmle:

 

command: tef

..material...

[brass/Steel/ColdRolled...etc]

(note: if you pick Brass, it will put 'BR-60-40-Muntz' beside 'material=')

 

Kenter

TEF Good.lsp

  • Replies 32
  • Created
  • Last Reply

Top Posters In This Topic

  • Tharwat

    10

  • alanjt

    8

  • Lee Mac

    7

  • Kenter

    7

Top Posters In This Topic

Posted

eg.

(initget 0 "Pizza Burger fiSh")
(getkword "\nWhat would you like? [Pizza/Burger/fiSh]: ")

Posted
eg.

(initget 0 "Pizza Burger fiSh")
(getkword "\nWhat would you like? [Pizza/Burger/fiSh]: ")

 

checken

Invalid option keyword. :o No checken:cry:

Posted (edited)

 

You did forget to re-set the old OSMODE and CLAYER in your Lisp.

(setq cl (getvar "CLAYER"))
     (setvar "CLAYER" "NOTE")
     (setq cs (GETVAR "OSMODE"))
     (setvar "OSMODE" 0)
....... your codes running...
.........

[color="red"](setvar "osmode" cs)
(setvar "clayer" cl)[/color]

 

I think the sentence that has been given by Alan is enough for you to update your codes ......

 

Regards

 

Tharwat

Edited by Tharwat
Posted

Here is a complete example for your question ...... must be satisfied 8)


   (initget 0 "Brass Steel ColdRolled")
(setq a (getkword "\n Specify the Material [brass/Steel/ColdRolled]: "))
(command "text" "J" "C" pause "0.187" "0" (strcat "Material =" a))

 

Regards

 

Tharwat

Posted

This is perhaps how I might code your program:

 

[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:tef [b][color=RED]([/color][/b] [b][color=BLUE]/[/color][/b] *error* LM:lst->str LM:Text mLst [b][color=RED])[/color][/b]
 [i][color=#990099];; © Lee Mac 2010[/color][/i]

 [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] *error* [b][color=RED]([/color][/b] msg [b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]wcmatch[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcase[/color][/b] msg[b][color=RED])[/color][/b] [b][color=#a52a2a]"*BREAK,*CANCEL*,*EXIT*"[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"\n** Error: "[/color][/b] msg [b][color=#a52a2a]" **"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] LM:lst->str [b][color=RED]([/color][/b] lst del [b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cdr[/color][/b] lst[b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] lst[b][color=RED])[/color][/b] del [b][color=RED]([/color][/b]LM:lst->str [b][color=RED]([/color][/b][b][color=BLUE]cdr[/color][/b] lst[b][color=RED])[/color][/b] del[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] lst[b][color=RED])[/color][/b]
   [b][color=RED])[/color][/b]
 [b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] LM:Text [b][color=RED]([/color][/b] pt hgt str lay [b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]entmakex[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]0[/color][/b] [b][color=#a52a2a]"TEXT"[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]8[/color][/b]  lay[b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]10[/color][/b]  pt[b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]40[/color][/b] hgt[b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]1[/color][/b]  str[b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]7[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=DARKRED]'[/color][/b]TEXTSTYLE[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]71[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]72[/color][/b] [b][color=#009900]1[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=#009900]11[/color][/b]  pt[b][color=RED])[/color][/b]
     [b][color=RED])[/color][/b]
   [b][color=RED])[/color][/b]
 [b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] mLst [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=#a52a2a]"Brass"[/color][/b]      . [b][color=#a52a2a]"BR-60-40-Muntz"[/color][/b][b][color=RED])[/color][/b]
              [b][color=RED]([/color][/b][b][color=#a52a2a]"Steel"[/color][/b]      . [b][color=#a52a2a]"ST-60-40-Muntz"[/color][/b][b][color=RED])[/color][/b]
              [b][color=RED]([/color][/b][b][color=#a52a2a]"Coldrolled"[/color][/b] . [b][color=#a52a2a]"CR-60-40-Muntz"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b] i [b][color=BLUE]/[/color][/b] p [b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] p [b][color=RED]([/color][/b][b][color=BLUE]getpoint[/color][/b] [b][color=#a52a2a]"\nSpecify Point <Exit> : "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] p [b][color=RED]([/color][/b][b][color=BLUE]trans[/color][/b] p [b][color=#009900]1[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
       
       [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b]
           [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b] string offset [b][color=RED])[/color][/b]
             [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#a52a2a]""[/color][/b] string[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
               [b][color=RED]([/color][/b]LM:Text [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] p[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]-[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] p[b][color=RED])[/color][/b] offset[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#009999]0.187[/color][/b] string [b][color=#a52a2a]"NOTE"[/color][/b][b][color=RED])[/color][/b]
             [b][color=RED])[/color][/b]
           [b][color=RED])[/color][/b]
         [b][color=RED])[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b]
           [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"Quantity="[/color][/b]
             [b][color=RED]([/color][/b][b][color=BLUE]itoa[/color][/b]
               [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] *qty*
                 [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b]
                   [b][color=RED]([/color][/b]
                     [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]initget[/color][/b] [b][color=#009900]4[/color][/b][b][color=RED])[/color][/b]                
                       [b][color=RED]([/color][/b][b][color=BLUE]getint[/color][/b]
                         [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"\nSpecify Quantity <"[/color][/b]
                           [b][color=RED]([/color][/b][b][color=BLUE]itoa[/color][/b]
                             [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] *qty*
                               [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b] *qty* [b][color=RED])[/color][/b] [b][color=RED]([/color][/b] [b][color=#009900]1[/color][/b] [b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                             [b][color=RED])[/color][/b]
                           [b][color=RED])[/color][/b]
                           [b][color=#a52a2a]"> : "[/color][/b]
                         [b][color=RED])[/color][/b]
                       [b][color=RED])[/color][/b]
                     [b][color=RED])[/color][/b]
                   [b][color=RED])[/color][/b]
                   [b][color=RED]([/color][/b] *qty* [b][color=RED])[/color][/b]
                 [b][color=RED])[/color][/b]
               [b][color=RED])[/color][/b]
             [b][color=RED])[/color][/b]
           [b][color=RED])[/color][/b]
           [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"Material="[/color][/b]
             [b][color=RED]([/color][/b][b][color=BLUE]cdr[/color][/b]
               [b][color=RED]([/color][/b][b][color=BLUE]assoc[/color][/b]
                 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] *mat*
                   [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b]
                     [b][color=RED]([/color][/b]
                       [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]initget[/color][/b] [b][color=RED]([/color][/b]LM:lst->str [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]car[/color][/b] mLst[b][color=RED])[/color][/b] [b][color=#a52a2a]" "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                         [b][color=RED]([/color][/b][b][color=BLUE]getkword[/color][/b]
                           [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"\nSpecify Material ["[/color][/b] [b][color=RED]([/color][/b]LM:lst->str [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]car[/color][/b] mLst[b][color=RED])[/color][/b] [b][color=#a52a2a]"/"[/color][/b][b][color=RED])[/color][/b] [b][color=#a52a2a]"] <"[/color][/b]
                             [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] *mat*
                               [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b] *mat* [b][color=RED])[/color][/b] [b][color=RED]([/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caar[/color][/b] mLst[b][color=RED])[/color][/b] [b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                             [b][color=RED])[/color][/b]
                             [b][color=#a52a2a]"> : "[/color][/b]
                           [b][color=RED])[/color][/b]
                         [b][color=RED])[/color][/b]
                       [b][color=RED])[/color][/b]
                     [b][color=RED])[/color][/b]
                     [b][color=RED]([/color][/b] *mat* [b][color=RED])[/color][/b]
                   [b][color=RED])[/color][/b]
                 [b][color=RED])[/color][/b]
                 mLst
               [b][color=RED])[/color][/b]
             [b][color=RED])[/color][/b]
           [b][color=RED])[/color][/b]
           [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"Thickness="[/color][/b]
             [b][color=RED]([/color][/b][b][color=BLUE]rtos[/color][/b]
               [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] *thk*
                 [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b]
                   [b][color=RED]([/color][/b]
                     [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]initget[/color][/b] [b][color=#009900]6[/color][/b][b][color=RED])[/color][/b]
                       [b][color=RED]([/color][/b][b][color=BLUE]getdist[/color][/b]
                         [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"\nSpecify Thickness <"[/color][/b]
                           [b][color=RED]([/color][/b][b][color=BLUE]rtos[/color][/b]
                             [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] *thk*
                               [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b] *thk* [b][color=RED])[/color][/b] [b][color=RED]([/color][/b] [b][color=#009999]1.0[/color][/b] [b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                             [b][color=RED])[/color][/b]
                           [b][color=RED])[/color][/b]
                           [b][color=#a52a2a]"> : "[/color][/b]
                         [b][color=RED])[/color][/b]
                       [b][color=RED])[/color][/b]
                     [b][color=RED])[/color][/b]
                   [b][color=RED])[/color][/b]
                   [b][color=RED]([/color][/b] *thk* [b][color=RED])[/color][/b]
                 [b][color=RED])[/color][/b]
               [b][color=RED])[/color][/b]
             [b][color=RED])[/color][/b]
           [b][color=RED])[/color][/b]
           [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=#a52a2a]"NAME="[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getstring[/color][/b] [b][color=#a52a2a]"\nSpecify Name: "[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]itoa[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] i [b][color=RED]([/color][/b][b][color=BLUE]1+[/color][/b] i[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
           [b][color=#a52a2a]"MACHINE=Trumpf L2530 PLUS"[/color][/b]
         [b][color=RED])[/color][/b]
        [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=#009999]1.0[/color][/b] [b][color=#009999]1.3[/color][/b] [b][color=#009999]1.6[/color][/b] [b][color=#009999]1.9[/color][/b] [b][color=#009999]2.2[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED])[/color][/b]
     [b][color=RED])[/color][/b]
   [b][color=RED])[/color][/b]
   [b][color=#009900]0[/color][/b]
 [b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b]
[b][color=RED])[/color][/b]

Posted
checken

Invalid option keyword. :o No checken:cry:

 

You did forget to re-set the old OSMODE and CLAYER in your Lisp.

(setq cl (getvar "CLAYER"))
     (setvar "CLAYER" "NOTE")
     (setq cs (GETVAR "OSMODE"))
     (setvar "OSMODE" 0)
....... your codes running...
.........

[color=red](setvar "osmode" cs)
(setvar "clayer" cl)[/color]

I think the sentence that has been given by Alan is enough for you to update your codes ......

 

Regards

 

Tharwat

 

Here is a complete example for your question ...... must be satisfied 8)


   (initget 0 "Brass Steel ColdRolled")
(setq a (getkword "\n Specify the Material [brass/Steel/ColdRolled]: "))
(command "text" "J" "C" pause "0.187" "0" (strcat "Material =" a))

Regards

 

Tharwat

I love it. You tell me I'm wrong, then tell the OP that I'm right, then use the method I suggested in another example. :roll:

Posted

You got it wrong,

 

I love it. You tell me I'm wrong,

 

I did not tell you that you are wrong, That was just a small joke. :D

 

then tell the OP that I'm right

 

And this is the approval.

 

then use the method I suggested in another example. :roll:

 

of course, Me and others still learning and must get expert's suggestions untill being able to give ours.

 

That's it ...... feel free. :lol:

 

Best regards

 

 

Tharwat

Posted
You got it wrong,

 

 

 

I did not tell you that you are wrong, That was just a small joke. :D

 

 

 

You say otherwise.:wink:

 

checken

Invalid option keyword. :o No checken:cry:

Posted

I think it was meant to be a joke saying that you didn't include 'chicken' as an option...

Posted
You say otherwise.:wink:

 

I am very honest person, and I do not say two words in different directions.

 

Honest and Modest are my main bold headlines in life.

 

Tharwat

Posted
I am very honest person... ...Honest and Modest are my main bold headlines in life.

 

LMAO :lol: :lol:

 

So that's why you blatently tried to pass off my code as your own the other day - we must have a different definition of the word 'honest'...

Posted
LMAO :lol: :lol:

 

So that's why you blatently tried to pass off my code as your own the other day - we must have a different definition of the word 'honest'...

I am sorry, I did not get you well..... the core meaning of your words are still hidden to me !!!!

Posted
I am sorry, I did not get you well..... the core meaning of your words are still hidden to me !!!!

You put your name on his work.

Posted

That's right , but I declared that clearly.

 

If I am not , I won't declared it or even mention it. .... that's must be added to my record .

 

Regards,

Posted
That's right , but I declared that clearly.

 

Surely you can see the wrong in copying something and changing the name to your own?

 

If you are going to use code that you find, you should not modify the code without stating that which you have changed, and it goes without saying that you should keep all headers/notices that the original author has included - and if these don't exist, you should provide a link to where the code was obtained.

Posted

You also ONLY said anything about it being Lee's originally AFTER I pointed it out.

 

Adding two lines of code to someone's work does not make it yours and you sure as hell can't take a subroutine with a library prefix and change it to yours.

Posted
You also ONLY said anything about it being Lee's originally AFTER I pointed it out.

 

Adding two lines of code to someone's work does not make it yours and you sure as hell can't take a subroutine with a library prefix and change it to yours.

of course the hell is you ...... undoubtly.

 

your are the trouble maker ....

Posted

Be right back...

time to make some popcorn

Posted
of course the hell is you ...... undoubtly.

 

your are the trouble maker ....

No trouble, only truth, baby. :wink:

 

Be right back...

time to make some popcorn

You forgot the awesome popcorn-eating-GIF...:lol::lol:

1z1z9t4.gif

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...