amook147 Posted Friday at 07:12 AM Posted Friday at 07:12 AM Drawing2.dwg As shown in the figure below: Select multiple graphics in batch and change the R value from 0.2 to another value? Quote
SLW210 Posted Friday at 12:17 PM Posted Friday at 12:17 PM Are you looking for a LISP, Python, VBA, .NET, etc.? I moved your thread to the AutoLISP, Visual LISP & DCL Forum. Quote
BIGAL Posted Friday at 11:13 PM Posted Friday at 11:13 PM Code what's that for ? Join Fillet R 0.4 P pickobject enter All done 1 Quote
mhupp Posted Saturday at 12:30 AM Posted Saturday at 12:30 AM 1 hour ago, BIGAL said: Code what's that for ? Join Fillet R 0.4 P pickobject enter All done Have to fillet the 3 long arcs segments before joining. But yes no lisp needed for simple task. Quote
BIGAL Posted Saturday at 02:30 AM Posted Saturday at 02:30 AM (edited) The large arc is like the base radius for all the teeth, so changing that may need a complete redraw. behind the shape must be some form of formula, or design rules. Sounds like a custom gear.lsp is needed. Edited Saturday at 02:30 AM by BIGAL Quote
Tsuky Posted Monday at 04:03 PM Posted Monday at 04:03 PM @amook147 Try this With your exemple seem to work's... mdf_gear.lsp 1 Quote
SLW210 Posted yesterday at 12:01 PM Posted yesterday at 12:01 PM Much like Elvis, the OP seems to have left the building. In case there is a dramatic return, here is a LISP that should work, though unclear what "code" they want or or if this is for an actual plug-in. Solved: Fillet multiple polyline all at once by lisp - Autodesk Community I didn't look at Kent Cooper's version to prompt for a radius, but used the original and added something simple to it. I am sure Kent Cooper's is better. (defun C:FMP_R (/ plss n rad) (setq rad (getdist "\nEnter fillet radius: ")) (if (and rad (> rad 0.0)) (progn (command "_.fillet" "_radius" rad) (if (setq plss (ssget "_:L" '((0 . "LWPOLYLINE")))) (repeat (setq n (sslength plss)) (command "_.fillet" "_polyline" (ssname plss (setq n (1- n)))) ) ) ) ) (princ) ) 1 Quote
Nikon Posted yesterday at 04:02 PM Posted yesterday at 04:02 PM (edited) Lee Mac has a similar code. The FMP_R and fpoly codes perform conjugations with a given radius. Only in these codes it is impossible to set the value radius = 0. Is there a code for interfacing with a radius of 0? There's also the marko_ribar code, but I couldn't verify it. When loading, the message appears: Unknown command. Edited yesterday at 04:11 PM by Nikon Quote
SLW210 Posted 5 hours ago Posted 5 hours ago Did you bother to check the link I posted? The first one in my link from Kent Cooper will do fillet>R>0 if that is the value of FILLETRAD. https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/fillet-multiple-polyline-all-at-once-by-lisp/m-p/6473166#M130031 The FilletMultiplePolylines will work with 0 radius. https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/fillet-multiple-polyline-all-at-once-by-lisp/m-p/10151411#M130041 Quote
Nikon Posted 4 hours ago Posted 4 hours ago 1 hour ago, SLW210 said: Did you bother to check the link I posted? Unfortunately, I couldn't check, the link doesn't open for me... Quote
Nikon Posted 1 hour ago Posted 1 hour ago 4 hours ago, SLW210 said: https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/fillet-multiple-polyline-all-at-once-by-lisp/m-p/6473166#M130031 Can anyone attach a lisp from this link? Quote
GLAVCVS Posted 1 hour ago Posted 1 hour ago (defun C:FMP (/ plss n) (if (setq plss (ssget '((0 . "LWPOLYLINE")))) (repeat (setq n (sslength plss)) (command "_.fillet" "_polyline" (ssname plss (setq n (1- n)))) ); repeat ); if (princ) I guess this is it 1 Quote
Nikon Posted 48 minutes ago Posted 48 minutes ago (edited) 1 hour ago, GLAVCVS said: (defun C:FMP (/ plss n) (if (setq plss (ssget '((0 . "LWPOLYLINE")))) (repeat (setq n (sslength plss)) (command "_.fillet" "_polyline" (ssname plss (setq n (1- n)))) ); repeat ); if (princ) This code should perform the pairing (without specifying the radius?). The code doesn't work: unknown command. The parenthesis after (princ) is lost. +) Edited 14 minutes ago by Nikon Quote
Nikon Posted 45 minutes ago Posted 45 minutes ago (edited) 5 hours ago, SLW210 said: The first one in my link from Kent Cooper will do fillet>R>0 if that is the value of FILLETRAD. The code can connect several polylines with a radius of 0. I understood that FILLETRAD must be set beforehand. Or do this: (defun C:FMP0 ; = Fillet Multiple Polylines (/ plss n) (setvar "FILLETRAD" 0) (if (setq plss (ssget '((0 . "LWPOLYLINE")))) (repeat (setq n (sslength plss)) (command "_.fillet" "_polyline" (ssname plss (setq n (1- n)))) ); repeat ); if (princ) ); defun Edited 2 minutes ago by Nikon 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.