Monday, October 31, 2022

Circle Tangents using lsp in AutoCAD

 

Program Description

This program allows the user to dynamically construct two circles connected with a pair of lines meeting the circumference of each circle at a tangent, resulting in a belt or cam shape.

Upon issuing the command syntax ctan at the AutoCAD command line, the program will issue four successive prompts: the user is prompted to specify the center of the first circle and the radius of the first circle, followed by the center & radius of the second circle.

During each of these prompts, the circles and adjoining lines are displayed dynamically in real-time relative to the position of the AutoCAD cursor.

Following valid responses to all prompts, the program will construct the resulting shape using a 2D polyline (LWPolyline).

However, if the radius of the second circle is greater than the combination of the distance between the circle centers & radius of the first circle, the program will instead construct a circle centered at the second given center, with radius equal to this maximum limit.

Similarly, if the distance between the two circle centers is less than the radius of the first circle, the program will construct only the first circle.

Although the dynamic visual effect is dependent on heavy use of the AutoLISP grread function, this program utilises my GrSnap utility to enable full Object Snap functionality during the dynamic prompts. Furthermore, this program has been designed to perform successfully under all UCS & View settings.

To download lsp

https://drive.google.com/file/d/1yKts1HLtS-NuK4U1g4o1aHn52QSUq8FO/view?usp=share_link


or


http://www.lee-mac.com/circletangents.html


یہ پروگرام صارف کو متحرک طور پر دو دائرے بنانے کی اجازت دیتا ہے جو لائنوں کے ایک جوڑے کے ساتھ جڑے ہوئے ہر دائرے کے فریم کو ٹینجنٹ پر پورا کرتے ہیں، جس کے نتیجے میں بیلٹ یا کیم کی شکل ہوتی ہے۔


AutoCAD کمانڈ لائن پر کمانڈ سنٹیکس ctan جاری کرنے پر، پروگرام چار لگاتار اشارے جاری کرے گا: صارف کو پہلے دائرے کا مرکز اور پہلے دائرے کا رداس، اس کے بعد دوسرے دائرے کا مرکز اور رداس بتانے کے لیے کہا جاتا ہے۔ .


ان میں سے ہر ایک پرامپٹ کے دوران، دائرے اور ملحقہ لائنیں آٹو سی اے ڈی کرسر کی پوزیشن کے لحاظ سے اصل وقت میں متحرک طور پر ظاہر ہوتی ہیں۔


تمام اشارے پر درست جوابات کے بعد، پروگرام 2D پولی لائن (LWPolyline) کا استعمال کرتے ہوئے نتیجے میں شکل بنائے گا۔


تاہم، اگر دوسرے دائرے کا رداس پہلے دائرے کے دائرے کے مراکز اور رداس کے درمیان فاصلے کے مجموعے سے زیادہ ہے، تو پروگرام اس کے بجائے ایک دائرہ بنائے گا جس کا مرکز دوسرے دیئے گئے مرکز میں ہے، جس کا رداس اس زیادہ سے زیادہ حد کے برابر ہے۔ .


اسی طرح، اگر دو دائرے کے مراکز کے درمیان فاصلہ پہلے دائرے کے رداس سے کم ہے، تو پروگرام صرف پہلا دائرہ بنائے گا۔


اگرچہ متحرک بصری اثر کا انحصار AutoLISP grread فنکشن کے بھاری استعمال پر ہے، لیکن یہ پروگرام میری GrSnap یوٹیلیٹی کو استعمال کرتا ہے تاکہ ڈائنامک پرامپٹس کے دوران مکمل آبجیکٹ اسنیپ فعالیت کو فعال کیا جا سکے۔ مزید برآں، اس پروگرام کو تمام UCS اور ویو سیٹنگز کے تحت کامیابی سے انجام دینے کے لیے ڈیزائن کیا گیا ہے۔


यह प्रोग्राम उपयोगकर्ता को गतिशील रूप से दो मंडलियों का निर्माण करने की अनुमति देता है जो एक स्पर्शरेखा पर प्रत्येक सर्कल की परिधि को पूरा करने वाली रेखाओं की एक जोड़ी से जुड़े होते हैं, जिसके परिणामस्वरूप एक बेल्ट या कैम आकार होता है।


ऑटोकैड कमांड लाइन पर कमांड सिंटैक्स सीटीएन जारी करने पर, प्रोग्राम चार लगातार संकेत जारी करेगा: उपयोगकर्ता को पहले सर्कल के केंद्र और पहले सर्कल के त्रिज्या को निर्दिष्ट करने के लिए कहा जाता है, उसके बाद दूसरे सर्कल के केंद्र और त्रिज्या .


इन संकेतों में से प्रत्येक के दौरान, ऑटोकैड कर्सर की स्थिति के सापेक्ष वास्तविक समय में मंडल और आस-पास की रेखाएं गतिशील रूप से प्रदर्शित होती हैं।


सभी संकेतों के लिए मान्य प्रतिक्रियाओं के बाद, प्रोग्राम 2D पॉलीलाइन (LWPolyline) का उपयोग करके परिणामी आकृति का निर्माण करेगा।


हालांकि, यदि दूसरे सर्कल का त्रिज्या सर्कल केंद्रों और पहले सर्कल के त्रिज्या के बीच की दूरी के संयोजन से अधिक है, तो प्रोग्राम इसके बजाय दूसरे दिए गए केंद्र पर केंद्रित एक सर्कल का निर्माण करेगा, जिसकी त्रिज्या इस अधिकतम सीमा के बराबर होगी। .


इसी तरह, यदि दो सर्कल केंद्रों के बीच की दूरी पहले सर्कल के त्रिज्या से कम है, तो प्रोग्राम केवल पहले सर्कल का निर्माण करेगा।


हालांकि गतिशील दृश्य प्रभाव AutoLISP grread फ़ंक्शन के भारी उपयोग पर निर्भर है, यह प्रोग्राम गतिशील संकेतों के दौरान पूर्ण ऑब्जेक्ट स्नैप कार्यक्षमता को सक्षम करने के लिए मेरी GrSnap उपयोगिता का उपयोग करता है। इसके अलावा, इस कार्यक्रम को सभी यूसीएस और व्यू सेटिंग्स के तहत सफलतापूर्वक प्रदर्शन करने के लिए डिज़ाइन किया गया है।



Previous Post
Next Post
Related Posts

0 comments: