Jump to content

FILLET lines continuous with crossing window ?


Recommended Posts

Posted (edited)

Is there a way to fillet lines continuous with crossing window ?

 

I tried the option "C" after running a FILLET, but it normally joins the 2 selected lines and then exits the command. if I ran it with Multiple option, I'd have to pick every pair of lines precisely, which could be very tedious.

 

Is there a way to make it continuous with crossing window? I would like to select another 2 lines with crossing window to fillet, and again, and again ... without having to enter the C option every time

 

I've seen that stuff in Powertools for AutoCAD, even with some advanced possibilities, but I'm not sure the pack is available for purchase anymore.

 

Thanks in advance !

Cheers

Edited by gashaglava
bad grammar :)
  • Replies 26
  • Created
  • Last Reply

Top Posters In This Topic

  • gashaglava

    10

  • pBe

    7

  • alanjt

    4

  • Tharwat

    3

Top Posters In This Topic

Posted

Whilst not being able to suggest an absolute solution to your wishes, have you tried making the Pickbox larger? Then you do not have to be so precise when picking the two lines.

Posted

Hope this help, and do not be surprised if lines went opposite way that you wanted :D

 

(defun c:test (/ ss sn1 sn2 e1 e2 p p1 p2) (vl-load-com)
;;; Tharwat 14. March . 2012 ;;;
 (defun Entmoding (key value ent)
   (entmod (subst (cons key value) (assoc key ent) ent))
 )
 (if
   (and (progn (princ "\n ***** Select only two lines to connect *****")
               (setq ss (ssget "_:L" '((0 . "LINE"))))
        )
        (eq (sslength ss) 2)
   )
    (progn
      (setq sn1 (ssname ss 0))
      (setq sn2 (ssname ss 1))
      (setq p (vlax-safearray->list
                (vlax-variant-value
                  (vla-intersectwith
                    (vlax-ename->vla-object sn1)
                    (vlax-ename->vla-object sn2)
                    acExtendBoth
                  )
                )
              )
      )
      (if (< (distance (cdr (assoc 10 (setq e1 (entget sn1)))) p)
             (distance (cdr (assoc 11 e1)) p)
          )
        (progn
          (setq p1 (cdr (assoc 11 e1)))
          (Entmoding 10 p e1)
        )
        (progn
          (setq p1 (cdr (assoc 10 e1)))
          (Entmoding 11 p e1)
        )
      )
      (if (< (distance (cdr (assoc 10 (setq e2 (entget sn2)))) p)
             (distance (cdr (assoc 11 e2)) p)
          )
        (progn
          (setq p2 (cdr (assoc 11 e2)))
          (Entmoding 10 p e2)
        )
        (progn
          (setq p2 (cdr (assoc 10 e2)))
          (Entmoding 11 p e2)
        )
      )
    )
    (princ)
 )
 (princ)
)

Posted (edited)

I've had this macro in my startup for years...

 

;fillet (windowed) objects
(defun c:fc()(command "_.fillet" "_c")(princ))

Edited by alanjt
Posted

If you dont mind pressing escape afterwards you can use something like this

 

(defun c:fc  ()
     (command "fillet" "_multiple")
     (while (> (getvar "CMDACTIVE") 0)
           (command "c" pause pause)
           )
     )

Posted

eldon

thnx, but I would like to avoid that pickbox if possible :)

 

Tharwat

close enough ! ... I ran the "Multiple" command, than your "test", and it works very well. It would be great option if it filleted the lines immediately after selection (as fillet normally does, with crossing window), without having to press enter after selection ...

 

alanjt

seems to me this IS it, but I don't know how to run it ... I usually put some .lsp files in appload->contents, and they would load on startup ... and I'm not familiar with making macros ... help ?

 

pBe

does not work, or I'm doing something wrong ...

 

Thanks

Miroslav Gacesa

ACAD Architecture 2012

Posted
seems to me this IS it, but I don't know how to run it ... I usually put some .lsp files in appload->contents, and they would load on startup ... and I'm not familiar with making macros ... help ?

 

Alan's code is still LISP, you can run it in the same way as you did with Tharwat's code, the command syntax is 'fc'. ;)

Posted
Alan's code is still LISP, you can run it in the same way as you did with Tharwat's code, the command syntax is 'fc'. ;)

There you go.

Posted

gashaglava,

 

Just to be on the clear. What error mesage do you get when you run the snippet i posted?

It's doing what its supposed to do when i tried on another CAD station :unsure:

Posted

@pBe: Your routine works with current fillet radius and I suspect that OP had it set to 0; he/she need to call FILLET command first or use FILLETRAD system variable to set it.

 

Regards,

Mircea

Posted
@pBe: Your routine works with current fillet radius and I suspect that OP had it set to 0; he/she need to call FILLET command first or use FILLETRAD system variable to set it.

 

Regards,

Mircea

 

I would think there's more to it than that Mircea but thanks for the info ..... What else could be be causing the snippet to fail? .. anyone? :)

Posted

pBe,

 

here's the error message :

 

Command: fc

Unknown command "FILLET". Press F1 for help.

Enter command name to repeat: nil

Posted

Lee Mac,

 

here's the error message I get when I run alan's code :

 

Command: fc Unknown command "FILLET". Press F1 for help.

Unknown command "C". Press F1 for help.

Posted

pBe, that's it ! :)

 

works great

 

Thanks !

Posted

@gashaglava

 

Cool beans.

Glad it worked for you.

 

@Mircea and @pBe

Language variation.... i should have known. :lol:

Posted

Updated to account for language barriers. Sorry, I wrote that one looooong ago.

Posted

 

Tharwat

close enough ! ... I ran the "Multiple" command, than your "test", and it works very well. It would be great option if it filleted the lines immediately after selection (as fillet normally does, with crossing window), without having to press enter after selection ...

 

 

 

Try this one without pressing Enter :)

 

(defun c:test (/ a b ss sn1 sn2 e1 e2 p p1 p2)
 (vl-load-com)
;;; Tharwat 14. March . 2012 ;;;
 (defun Entmoding (key value ent)
   (entmod (subst (cons key value) (assoc key ent) ent))
 )
 (if
   (and (progn (princ "\n ***** Select only two lines to connect *****")
               (setq a (getpoint "\n First point:")
                     b (getcorner "\n Second point:" a)
               )
               (setq ss (ssget "_c" a b))
        )
        (eq (sslength ss) 2)
   )
    (progn
      (setq sn1 (ssname ss 0))
      (setq sn2 (ssname ss 1))
      (setq p (vlax-safearray->list
                (vlax-variant-value
                  (vla-intersectwith
                    (vlax-ename->vla-object sn1)
                    (vlax-ename->vla-object sn2)
                    acExtendBoth
                  )
                )
              )
      )
      (if (< (distance (cdr (assoc 10 (setq e1 (entget sn1)))) p)
             (distance (cdr (assoc 11 e1)) p)
          )
        (progn
          (setq p1 (cdr (assoc 11 e1)))
          (Entmoding 10 p e1)
        )
        (progn
          (setq p1 (cdr (assoc 10 e1)))
          (Entmoding 11 p e1)
        )
      )
      (if (< (distance (cdr (assoc 10 (setq e2 (entget sn2)))) p)
             (distance (cdr (assoc 11 e2)) p)
          )
        (progn
          (setq p2 (cdr (assoc 11 e2)))
          (Entmoding 10 p e2)
        )
        (progn
          (setq p2 (cdr (assoc 10 e2)))
          (Entmoding 11 p e2)
        )
      )
    )
    (princ)
 )
 (princ)
)


Posted

alanjt,

 

close enough ! ... if it only wouldnt exit the command after filleting first pair of lines

 

thanks anyway !

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