Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/30/2022 in all areas

  1. Those two are simple enough that you should try writing your first lisp. Set the value of the system variable FILLETRAD to 0.5 using setvar. Then start the FILLET command. If you have trouble post your code for more help. For the second one do you mean color from red to 255? One object or multiple? Do you need to filter a selection set for just those colored red? You get better help by describing exactly what you want. Search with Google or at the top of this page for what you need. Hundreds of fillet lisp threads out there like
    2 points
  2. @mhupp As usual - your lisp are effective,clear and as simple as it can be! I've added one more option - to let the user to choose the fillet radius (option FF): (defun C:F1 () (frx "0.0625")) (defun C:F2 () (frx "0.125")) (defun C:F3 () (frx "0.250")) (defun C:F4 () (frx "0.375")) (defun C:F5 () (frx "0.500")) (defun C:FF (/ FRad) (setq FRad (getreal "\nFillet Radius<0>: ")) (if (= FRad nil) (setq FRad 0) ) (frx (rtos FRad 2 3)) ) ;;----------------------------------------------------------------------;; ;; Quick Fillet with set radius (defun frx (x / *error* ofr) (defun *error* (errmsg) (if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break")) (princ (strcat "\nError: " errmsg)) ) ; if (setvar 'filletrad ofr) ) (setvar "cmdecho" 0) (setq ofr (getvar 'filletrad)) (vl-cmdf "_.Fillet" "_Radius" x "_.Fillet" "_Multiple") (setvar "cmdecho" 1) (princ (strcat "\nFillet (radius=" x "): Select first entity or [Fillet Settings.../Polyline/Radius/Trim/Undo/Multiple]:")) (while (> (getvar 'cmdactive) 0) (command pause)) (setvar 'filletrad ofr) (princ) ) and again - well done!! Regards, aridzv.
    1 point
  3. This is what I use for common fillets. --edit Its set to run multiple but only draw back is if you miss click on like the 20th fillet and hit Esc it will undo all fillets. so if you mess up just exit out of the command and fix the one mistake. Also only temp overrides the fillet radius for the commands. --edit oops sorry Tombu (defun C:F1 () (frx "0.0625")) (defun C:F2 () (frx "0.125")) (defun C:F3 () (frx "0.250")) (defun C:F4 () (frx "0.375")) (defun C:F5 () (frx "0.500")) ;;----------------------------------------------------------------------;; ;; Quick Fillet with set radius (defun frx (x / *error* ofr) (defun *error* (errmsg) (if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break")) (princ (strcat "\nError: " errmsg)) ) ; if (setvar 'filletrad ofr) ) (setvar "cmdecho" 0) (setq ofr (getvar 'filletrad)) (vl-cmdf "_.Fillet" "_Radius" x "_.Fillet" "_Multiple") (setvar "cmdecho" 1) (princ (strcat "\nFillet (radius=" x "): Select first entity or [Fillet Settings.../Polyline/Radius/Trim/Undo/Multiple]:")) (while (> (getvar 'cmdactive) 0) (command pause)) (setvar 'filletrad ofr) (princ) )
    1 point
  4. Try this: (defun c:xrl ( / acd acl dwg ins xrn ) (if (setq dwg (getfiled "Select XRef" "" "dwg" 16)) (progn (setq acd (vla-get-activedocument (vlax-get-acad-object)) acl (vla-get-activelayout acd) xrn (vl-filename-base dwg) ins (vlax-3D-point 0 0) ) (vlax-for lay (vla-get-layouts acd) (if (/= "MODEL" (strcase (vla-get-name lay))) (progn (vla-put-activelayout acd lay) (vla-attachexternalreference (vla-get-paperspace acd) dwg xrn ins 1.0 1.0 1.0 0.0 :vlax-false) ) ) ) (vla-put-activelayout acd acl) ) ) (princ) ) (vl-load-com) (princ)
    1 point
×
×
  • Create New...