shokoufeh Posted 13 hours ago Posted 13 hours ago Hi every one. I want to use initget to get the plot style from the user. In the code, the styles after Screening_50.ctb are not known by the Autocad. the same thing happens when I add Fill_Patterns.ctb before Screening_50.ctb. how do I solve the problem? (initget 1 "Monochrome.ctb acad.ctb Grayscale.ctb Screening_50.ctb Fill_Patterns.ctb") (setq plotstyle (getkword "\nChoose plot style [Monochrome.ctb/acad.ctb/Grayscale.ctb/Screening 50%.ctb/Fill Patterns.ctb] <Monochrome.ctb>: ")) Quote
Saxlle Posted 12 hours ago Posted 12 hours ago 24 minutes ago, shokoufeh said: (initget 1 "Monochrome.ctb acad.ctb Grayscale.ctb Screening_50.ctb Fill_Patterns.ctb") Inside the "initget" you use "Screening_50.ctb Fill_Patterns.ctb" with "_", and inside the "getkword" you use "Screening 50%.ctb/Fill Patterns.ctb", which is not equal as it in "initget". Everything must be equal. So, according from your's "initget", the "_" can't be in use, because it's in use for localization (for eg. "_RECTANG", "_LINE", etc.). From this link you can find this: Keyword Specifications The string argument is interpreted according to the following rules: 1. Each keyword is separated from the following keyword by one or more spaces. For example, "Width Height Depth" defines three keywords. 2. Each keyword can contain only letters, numbers, and hyphens (-). One of the possible solutions is to use this: (initget 1 "Monochrome.ctb acad.ctb Grayscale.ctb Screening50.ctb FillPatterns.ctb") (setq plotstyle (getkword "\nChoose plot style [Monochrome.ctb/acad.ctb/Grayscale.ctb/Screening50.ctb/FillPatterns.ctb] <Monochrome.ctb>:")) (cond ((equal plotstyle "Screening50.ctb") (setq plotstyle "Screening_50.ctb") ) ((equal plotstyle "FillPatterns.ctb") (setq plotstyle "Fill_Patterns.ctb") ) ) Best regards. 1 Quote
shokoufeh Posted 12 hours ago Author Posted 12 hours ago 5 minutes ago, Saxlle said: Inside the "initget" you use "Screening_50.ctb Fill_Patterns.ctb" with "_", and inside the "getkword" you use "Screening 50%.ctb/Fill Patterns.ctb", which is not equal as it in "initget". Everything must be equal. So, according from your's "initget", the "_" can't be in use, because it's in use for localization (for eg. "_RECTANG", "_LINE", etc.). From this link you can find this: Keyword Specifications The string argument is interpreted according to the following rules: 1. Each keyword is separated from the following keyword by one or more spaces. For example, "Width Height Depth" defines three keywords. 2. Each keyword can contain only letters, numbers, and hyphens (-). One of the possible solutions is to use this: (initget 1 "Monochrome.ctb acad.ctb Grayscale.ctb Screening50.ctb FillPatterns.ctb") (setq plotstyle (getkword "\nChoose plot style [Monochrome.ctb/acad.ctb/Grayscale.ctb/Screening50.ctb/FillPatterns.ctb] <Monochrome.ctb>:")) (cond ((equal plotstyle "Screening50.ctb") (setq plotstyle "Screening_50.ctb") ) ((equal plotstyle "FillPatterns.ctb") (setq plotstyle "Fill_Patterns.ctb") ) ) Best regards. This solution worked perfectly Thank you so much Quote
BIGAL Posted 2 hours ago Posted 2 hours ago Here is another way it makes a radio button dcl on the fly. There is examples how to use in the top of the code. Just save in a support path or add the full path to the (load "Multi Radiobuttons.lsp") Multi radio buttons.lsp Quote
Recommended Posts
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.