sonali Posted February 7, 2015 Posted February 7, 2015 Hello everyone. I am in trouble. I am in search of solution of my one problem from so many days. I am having two faces, which are connected by fillet command. Now I want to find out the radius of the fillet at edge. I am attching the photo of the model. Someone help me please. Quote
BKT Posted February 7, 2015 Posted February 7, 2015 Hello sonali, For a 3D Solid here's something to try. You will have to select the inside fillet edge. (No error checking in this...) (defun C:cirr (/ edge1 rad1) (setvar "cmdecho" 0) (princ "\nSelect Cylinder or Fillet Edge: ") (command "._solidedit" "_edge" "_copy" pause "" "0,0,0" "0,0,0" "" "") (setq edge1 (entget (entlast))) (setq rad1 (cdr (assoc 40 edge1))) (alert (strcat " Radius = " (rtos rad1) "\nDiameter = " (rtos (* rad1 2)))) (princ (strcat "\nRadius = " (rtos rad1) "\nDiameter = " (rtos (* rad1 2)))) (command "._erase" "L" "") (princ) ) Quote
sonali Posted February 8, 2015 Author Posted February 8, 2015 Thank you so much.. for your kind response..... It is showing following error: Selection of isoline from a face of the solid ignored. Invalid option keyword. ; error: Function cancelled Also, my requirement is to click on the flat face only, and get the radius of the fillet, that is to be saved in .csv file too. Please help me,,,,,,,, Quote
BKT Posted February 8, 2015 Posted February 8, 2015 Sorry, what I posted will not work in that case. If you have started some code, go ahead and post it to see if someone can provide help with it. Quote
sonali Posted February 9, 2015 Author Posted February 9, 2015 Thanx for reply. According to your logic, if I click on the fillet, then also it is showing error. Try, if you can solve it, by modification in the previous code that you have provided. I have tried some codes, but I am new to this Autolisp, which is making it difficult for me to move forward. So, anyone can help me, please help me...... Quote
BKT Posted February 9, 2015 Posted February 9, 2015 The code I posted works with 3DSolids by interrogating a fillet (or cylinder) edge, so if you are picking the fillet itself or if your geometry is not a 3DSolid it will not work. You would need to pick the edge as shown here: Quote
hmsilva Posted February 9, 2015 Posted February 9, 2015 Hi sonali, 3dSolids, in AutoCAD, are encripted objects, and is not easy to access to the sub-objects... One way, is as BTK have shared, using the 'solidedit' command. Others, create a copy from the solid, explode, step thru all objects to get the desired property, then erase the exploded objects... But, just to know an object radius, perhaps something like this will do the trick (defun c:demo ( / osm pt1 pt2) (setq osm (getvar 'OSMODE)) (setvar 'OSMODE 512) (if (and (setq pt1 (getpoint "\n Select an object to inquire radius: ")) (setq pt2 (osnap pt1 "CEN")) ) (princ (strcat "\nObject radius is " (rtos (distance pt1 pt2)))) (princ "\n Selected object don't have radius...") ) (setvar 'OSMODE osm) (princ) ) Hope that helps Henrique 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.