Jump to content

Question On Dcl


Lt Dan's legs

Recommended Posts

I'm asking for help with this. This works but the problem is the insert button does nothing. I'd like to get a insert and cancel button going but everytime I try acad locks up. how do I get the buttons to work?

 

this is getting really frustrating!

 

Panel : dialog {    //dialog name
      label = "Insert Panels";  //dialog label  
      :boxed_radio_column {   //define radio column
      label = "Panel" ;    //give it a label
         
       : radio_button {   //define radion button
       key = "p1" ;    //give it a name
       label = "1" ;  //give it a label
         value = "1" ;
         
        }     //end definition

     : radio_button {   //define radio button
       key = "p2" ;    //give it a name
       label = "2" ;
       //give it a label
     }     //end definition

     : radio_button {   //define radio button
       key = "p3" ;    //give it a name
       label = "3" ;
       //give it a label
       }     //end definition
 
     : radio_button {   //define radio button
       key = "p4" ;    //give it a name
       label = "4" ;
       //give it a label
       }
       }
: button 
{
key = "accept";
label = "INSERT";
is_default = true;
fixed_width = true;
alignment = centered;
}

    : row {     //define row

    : image {     //define image tile
    key = "im" ;    //give it a name
    height = 1.0 ;    //and a height
    width = 3.0 ;    //and now a width
    }      //end image

    : paragraph {    //define paragraph
    : text_part {    //define text
    label = "Created by Reid Booe";  //give it some text
    }

    }      //end paragraph

    }      //end row
    
    }      //end dialog

(defun C:test ( )
(setq dcl_id (load_dialog "Panel.dcl"))
    (if (not (new_dialog "Panel" dcl_id))
 (exit)
    );if

 (setq w (dimx_tile "im")    ;get image tile width
       h (dimy_tile "im")    ;get image tile height

);setq

 (start_image "im")     ;start the image
 (fill_image 0 0 w h 5)    ;fill it with blue
 (end_image)      ;end image

 (action_tile "p1" "(setq panel \"1\")")  ;store hole type
 (action_tile "p2" "(setq panel \"2\")")  ;store hole type
 (action_tile "p3" "(setq panel \"3\")")  ;store hole type
 (action_tile "p4" "(setq panel \"4\")")  ;store hole type
(action_tile "accept"
   "(done_dialog)"
);action_tile

(start_dialog)
(unload_dialog dcl_id)
(command "_insert" panel pause "" "" pause)
(princ)

Link to comment
Share on other sites

You need to test the method used to exit the dialog - may use the DIASTAT system variable for this; I made some changes to your code:

 

(defun C:test ( )
(setq dcl_id (load_dialog "Panel.dcl"))
    (if (not (new_dialog "Panel" dcl_id))
 (exit)
    );if

 (setq w (dimx_tile "im")    ;get image tile width
       h (dimy_tile "im")    ;get image tile height

);setq

 (start_image "im")     ;start the image
 (fill_image 0 0 w h 5)    ;fill it with blue
 (end_image)      ;end image

 (action_tile "p1" "(setq panel \"1\")")  ;store hole type
 (action_tile "p2" "(setq panel \"2\")")  ;store hole type
 (action_tile "p3" "(setq panel \"3\")")  ;store hole type
 (action_tile "p4" "(setq panel \"4\")")  ;store hole type
 (action_tile "accept" "(done_dialog [color=Red]1[/color])");action_tile
[color=Red] (action_tile "cancel" "(done_dialog 0)");action_tile[/color]

(start_dialog)
(unload_dialog dcl_id)
[color=Red](if (= (getvar "DIASTAT") 1)[/color]
(command "_insert" panel pause "" "" pause)
[color=Red])[/color]
(princ)
)

Regards,

Link to comment
Share on other sites

You're welcome!

 

Another way is to test the value returned by START_DIALOG statement (1 for OK and 0 for Cancel).

 

Regards,

Link to comment
Share on other sites

question. on new drawings I get this: ; error: Automation Error. Filer error

 

But when I try it again and It works. What's wrong with the code?

 

Not the same code as above but I do have the code you given me inside

Link to comment
Share on other sites

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...