Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/10/2023 in all areas

  1. The dialog box is a lisp you made? Cause it's not working at all right now. Ain't got the time right now to check it out, but i would think the following steps should be taken: The renaming part shouldn't be that difficult. Upon entering the 'Edit_Block' command it should know if you allready selected a block or you start the command without selecting. create a dedicated button to select a block, not just go to some 'selection' option when you click the input field (or have some grayed out text stating something like 'click here to select a block') Upon selecting a block the field should be occupied with the blocks name you have selected. Enter the new name of the block. Up to this point you should save these variables (old block name and the new name) globally. This would be hard to impossible to do without user input, so it could be done just before any new action is taken (like pressing OK or any of the other buttons) When pressing any of the options that run those other lisp codes it should check in any of these variables is set and work from there. Save the new insertion point in memory (a variable). When this seperate lisp has run it should once again check if the initial command has allready been running and continue from there (with all the previous fields filled). In the end it should run all the commands in 1 run when pressed 'OK' with the previous set variables (old name, new name, new insertion point and if the objects within the block needs to be on layer 0 or not). When done, clear memory/stored variables. It perhaps could be done a lot simpler, but that would by my approach. I would advice to include some option to only change that selected objects block-name or all in the current drawing. i for one would like a working lisp like you are suggesting, but i ussually want to change 1 block of many. Simpy exploding and recreating or copying to a new drawing and back is a 'lot of work'.
    1 point
  2. It downloads fine on my end. Must be getting blocked on your computer.
    1 point
  3. Ok a couple more hints, draw a rectang 297x210 in a layout, offset that rectang 11.25mm, type MV pick bottom left, top right of the inner rectang. Double click inside the rectang and go inside, type ZOOM E, you should see your model now in the mview. You can zoom pan etc and resize what you see ! Now the great part open the toolbar Viewport, for metric users this will be your friend. When you go into a viewport the little box shows a value representing a scale, you can type a value in that box and the viewport will rescale. Its looks like mm plan. So for say 1:100 scale put 0.01 in the box 1:10 put 0.1, I normally work in metres so scale numbers are like 10 5 4 1000/scale, mm 1/scale. The other method is dbl click outside the rectang and you should now be in Paperspace. Click on the viewport and a little blue arrow should appear, click on it and you can choose a scale also. Now Plotting this is Bricscad but the same, output to pdf or a printer choose, Iso A4 sheet size Window A4 sheet size Scale 1=1 Colour.ctb or Acad.ctb Landscape Center on page Then click on Apply button this saves the current settings. Do a preview and check all is ok.
    1 point
  4. This may be helpful, it converts Feet inches fractions "12 3 3/8" into decimal inches. eg 12 0 3/8, 1 3 1/2, 1, 1 3, 0 0 1/2. Space is the delimiter. Use in your dcl when inputting a value. (defun getfrac (lst / ) (setq len (+ (* 12.0 (atof (car lst)))(atof (cadr lst)))) (setq frac (caddr lst)) (setq pos (vl-string-search "/" frac)) (setq dec (atof (substr frac 1 pos))) (setq rem (atof (substr frac (+ pos 2)))) (setq len (+ len (/ dec rem))) (princ) ) ; thanks to Lee-mac for this defun ; 32 is space (defun csv->lst ( str / pos ) (if (setq pos (vl-string-position 32 str)) (cons (substr str 1 pos) (csv->lst (substr str (+ pos 2)))) (list str) ) ) (setq strlst (CSV->LST val)) (cond ((= (length strlst) 1)(setq ht (* (atof (car strlst)) 12.0))) ((= (length strlst) 2)(setq ht (+ (* (atof (car strlst)) 12.0) (atof (cadr strlst))))) ((= (length strlst) 3)(progn (getfrac strlst)(setq ht len))) )
    1 point
  5. Can you give a bit more of a description of what you want to do - we can collate the LISPs into a single routine but knowing what you want to achieve will help. So far: Move block to layer 0 Rename block Change the block base point and rename block again
    1 point
×
×
  • Create New...