सुरक्षितता.  सेटअप.  इंटरनेट.  पुनर्प्राप्ती.  स्थापना

txt वरून AutoCAD मध्ये पॉइंट इंपोर्ट करत आहे. DXF2TXT - AutoCAD वरून मजकूर निर्यात आणि अनुवादित करा

  • CAD/CAM
  • नॅनोकॅडसाठी प्रोग्रामिंगबद्दल सर्वात लोकप्रिय प्रश्नांपैकी एक म्हणजे "मी मजकूर फाइलमधून पॉइंट कसे आयात करू शकतो?" हे कठीण काम नाही, परंतु व्यावसायिक डिझाइनरला व्यावसायिक प्रोग्रामर असणे आवश्यक नाही, म्हणून आम्ही हा लेख "नवशिक्यांसाठी" शैलीमध्ये लिहिला.

    तुम्ही nanoCAD मधील विद्यमान API प्रकारांचा वापर करून रेखांकनामध्ये निर्देशांक आयात करू शकता. आम्ही .NET निवडण्याचे आणि दोन समान API ची तुलना करण्याचा निर्णय घेतला: क्लासिक .NET API आणि क्रॉस-CAD प्लॅटफॉर्म MultiCAD.NET API. कटच्या खाली पहिला भाग आहे - क्लासिक .NET API वापरून बिंदू आयात करणे.

    दिले:बिंदूंच्या X, Y, Z समन्वयांसह मजकूर फाइल, प्रति ओळ एक बिंदू. निर्देशांक एका जागेद्वारे विभक्त केले जातात, अंशात्मक विभाजक एक बिंदू आहे.

    आवश्यक: IMPORTCOORDS कमांड वापरून, फाईलच्या नावाची विनंती करणारा अनुप्रयोग लिहा आणि DatabaseServices.DBPoint ऑब्जेक्ट्सच्या रूपात वर्तमान ड्रॉइंग स्पेसमध्ये सापडलेले निर्देशांक आयात करा. रेखांकनाच्या वर्तमान वापरकर्ता समन्वय प्रणाली (UCS) मध्ये ऑब्जेक्ट निर्देशांक आयात करणे आवश्यक आहे.

    कार्यरत प्रकल्प तयार करणे आणि स्थापित करणे
    अनुप्रयोग तयार करण्यासाठी आम्हाला खालील साधनांची आवश्यकता असेल:
    • nanoCAD (आवृत्ती 3.5 पेक्षा कमी नाही)
    • मायक्रोसॉफ्ट व्हिज्युअल स्टुडिओ 2008 (nanoCAD 3.5 - nanoCAD 5.0 ​​सपोर्ट लोडिंग .NET अनुप्रयोग .NET फ्रेमवर्क 3.5 वर तयार केलेले).
    आणि, अर्थातच, असे गृहीत धरले जाते की तुम्हाला C# मध्ये थोडेसे प्रोग्रामिंग माहित आहे. नसल्यास, MSDN लायब्ररीमध्ये आपले स्वागत आहे.

    खालील सेटिंग्जसह व्हिज्युअल स्टुडिओमध्ये नवीन प्रकल्प तयार करा:

    • प्रकल्प प्रकार: व्हिज्युअल C#
    • साचा:वर्ग ग्रंथालय
    अशा प्रकारे, आमचा अर्ज एक नियमित .NET असेंब्ली (DLL) आहे, जो नंतर nanoCAD मध्ये लोड केला जाईल.
    संदर्भ टॅबमध्ये आम्ही नॅनोकॅड किटमध्ये समाविष्ट असलेल्या खालील लायब्ररी कनेक्ट करतो:
    • hostdbmgd.dll
    • hostmgd.dll
    आता तुम्ही सुरक्षितपणे प्रोग्राम लिहिण्यासाठी पुढे जाऊ शकता.
    कार्यक्रम रचना
    अंमलबजावणी खालील चरणांमध्ये विभागली जाऊ शकते:
    1. IMPORTCOORDS कमांडची नोंदणी करा.
    2. वर्तमान रेखाचित्र डेटाबेस आणि कमांड लाइन संपादक मिळवा.
    3. निर्देशांकांसह फाइल नावाची विनंती करा.
    4. फाइल उघडा, निर्देशांकांसह ओळी वाचा.
    5. वैयक्तिक निर्देशांकांसह DBPoint ऑब्जेक्ट्स तयार करा. त्यांचे समन्वय वर्तमान वापरकर्ता समन्वय प्रणालीमध्ये रूपांतरित करा.
    6. तयार केलेल्या वस्तू सध्याच्या ड्रॉइंग स्पेसमध्ये (मॉडेल स्पेस किंवा पेपर स्पेस) जोडा.
    आमच्या ऍप्लिकेशनला nanoCAD मध्ये कॉल करणाऱ्या कमांडची नोंदणी करण्यासाठी, या कमांडद्वारे कॉल करणारी पद्धत परिभाषित करण्यापूर्वी, आम्हाला एक विशेषता घोषित करणे आणि कमांडचे नाव निर्दिष्ट करणे आवश्यक आहे. कृपया लक्षात घ्या की पद्धतीमध्ये सार्वजनिक सुधारक असणे आवश्यक आहे:

    सार्वजनिक शून्य importCoords() (... )
    सुरू ठेवण्यापूर्वी, मी तुम्हाला थांबवू इच्छितो आणि थोडक्यात सांगू इच्छितो की "ड्रॉइंग डेटाबेस" म्हणजे काय. .dwg फाइल हा एक डेटाबेस आहे ज्याची रचना कठोर आहे, ज्याचे मुख्य घटक टेबल्स (सिम्बॉल टेबल्स) आहेत, ज्यामध्ये ड्रॉइंगच्या सर्व ऑब्जेक्ट्स असतात. हे केवळ ग्राफिक ऑब्जेक्ट्स नाहीत जे आपण ड्रॉईंगमध्ये पाहतो (सरळ रेषा, आर्क्स, पॉइंट्स इ.), परंतु इतर अनेक ऑब्जेक्ट्स देखील आहेत जे ड्रॉइंगची सामग्री आणि सेटिंग्ज निर्धारित करतात. उदाहरणार्थ, लेयर टेबलमध्ये ड्रॉईंगमधील सर्व लेयर्स असतात, लाइनटाइप टेबल ड्रॉइंगमध्ये परिभाषित केलेल्या सर्व रेषा शैली संग्रहित करते, यूसीएस टेबल दिलेल्या ड्रॉइंगसाठी वापरकर्त्याने तयार केलेल्या सर्व समन्वय प्रणाली संग्रहित करते, इ. नवीन ड्रॉइंग ऑब्जेक्ट म्हणजे संबंधित डेटाबेस ऑब्जेक्ट तयार करणे.

    चला तर मग सुरू ठेवूया. सर्व प्रथम, आपल्याला सर्व खुल्या दस्तऐवजांमधून वर्तमान निवडण्याची आणि त्याचा डेटाबेस उघडण्याची आवश्यकता आहे. हे करण्यासाठी, आम्हाला सर्व खुल्या दस्तऐवजांचा एक ऑब्जेक्ट व्यवस्थापक मिळतो, आणि नंतर, त्याच्या मदतीने, एक डेटाबेस ज्यासह आम्ही कार्य करणे सुरू ठेवू.

    डॉक्युमेंट कलेक्शन dm = Application.DocumentManager; डेटाबेस db = dm.MdiActiveDocument.Database;
    आमचा अर्ज फाईल नावासाठी प्रॉम्प्ट करण्यासाठी, आम्हाला एडिटर ऑब्जेक्ट मिळवण्याची आवश्यकता आहे आणि विशिष्ट प्रकारच्या वापरकर्ता इनपुटची विनंती करण्याची पद्धत कॉल करणे आवश्यक आहे (आमच्या बाबतीत, फाइल नाव):

    // कमांड लाइन एडिटर एडिटर मिळवा ed = dm.MdiActiveDocument.Editor; // विनंती परिणाम प्राप्त करण्यासाठी ऑब्जेक्ट PromptFileNameResult sourceFileName; // विनंती आदेश ओळीवर आउटपुट करा आणि परिणाम मिळवा sourceFileName = ed.GetFileNameForOpen("\nइम्पोर्ट करण्यासाठी निर्देशांक फाइलचे नाव प्रविष्ट करा:"); जर (sourceFileName.Status == PromptStatus.OK) ( ... )
    मजकूर फायली वाचण्यासाठी आणि स्ट्रिंग डेटा प्रकारांसह कार्य करण्यासाठी C# कार्यक्षमता वापरून फाइलमधून निर्देशांक मिळवणे अगदी सोपे आहे:

    // फाईल वाचा, स्ट्रिंग स्ट्रिंग लाइन्सच्या ॲरेप्रमाणे सामग्री मिळवा = File.ReadAllLines(sourceFileName.StringResult); // प्रत्येक ओळीसाठी, स्पेसने विभक्त केलेल्या सबस्ट्रिंग्सचा ॲरे लिहा (कारण, समस्येनुसार, स्पेस कॅरेक्टर समन्वय विभाजक म्हणून कार्य करते). // अशा प्रकारे आपल्याला निर्देशांकांची ॲरे मिळते, फक्त मजकूर स्वरूपात, नंतर आपण त्यांना दुहेरी संख्यांमध्ये रूपांतरित करतो. स्ट्रिंग समन्वय; foreach (स्ट्रिंग ओळींमध्ये s) ( coord = s.Split(नवीन अक्षर ( " " )); डबल coordX = Convert.ToDouble(coord); दुहेरी coordY = Convert.ToDouble(coord); दुहेरी coordZ = Convert.ToDouble(coord) );)
    चला ग्राफिक आदिम (संस्था) तयार करण्याकडे वळू. वर नमूद केल्याप्रमाणे, ड्रॉईंगमध्ये संग्रहित केलेली कोणतीही वस्तू (फक्त ग्राफिक नाही) तयार करण्यासाठी, ती ड्रॉइंग डेटाबेसमध्ये जोडली जाणे आवश्यक आहे, म्हणजे संबंधित कंटेनर ऑब्जेक्टमध्ये. म्हणून, उदाहरणार्थ, सर्व स्तर लेयर टेबलमध्ये नोंदी म्हणून संग्रहित केले जातात, जे या प्रकरणात त्यांच्यासाठी कंटेनर ऑब्जेक्ट आहे. सामान्य डेटाबेस रचना खालीलप्रमाणे आहे:

    ग्राफिक प्रिमिटिव्ह थेट डेटाबेसमध्ये संग्रहित केले जातात, परंतु वैयक्तिक ब्लॉक्सच्या संरचनेत, जे यामधून ब्लॉक टेबलमध्ये नोंदी असतात. हे खूप सोयीस्कर आहे कारण ही यंत्रणा तुम्हाला ऑब्जेक्ट्सचे नाव असलेल्या ब्लॉक्समध्ये सहजपणे गटबद्ध करू देते आणि त्यांना संपूर्णपणे व्यवस्थापित करू देते. तसे, डेटाबेसमधील मॉडेल स्पेस आणि शीट स्पेस देखील वेगळ्या ब्लॉक्सद्वारे दर्शविले जातात. अशा प्रकारे, ग्राफिक आदिमसाठी, कंटेनर एक स्वतंत्र ब्लॉक असेल, जो यामधून, मूळ ऑब्जेक्टचा असेल - ब्लॉक्सची सारणी.

    आम्ही डेटाबेससह काम करत असल्याने, प्रोग्रामच्या अंमलबजावणीदरम्यान काही त्रुटी आढळल्यास त्याची अखंडता आणि संरक्षण सुनिश्चित करणे आवश्यक आहे. यासाठी व्यवहाराची यंत्रणा वापरली जाते. व्यवहार संपूर्णपणे केल्या जाणाऱ्या अनेक ऑपरेशन्स एकत्र करतात: काहीतरी चूक झाल्यास, व्यवहार रद्द केला जातो आणि या व्यवहाराचा भाग म्हणून तयार केलेल्या वस्तू दस्तऐवजात जोडल्या जाणार नाहीत. सर्व ऑपरेशन्स यशस्वीरित्या पूर्ण झाल्यास, व्यवहाराची पुष्टी केली जाते आणि ऑब्जेक्ट्स डेटाबेसमध्ये जोडल्या जातात.

    या ज्ञानासह सशस्त्र, आम्ही फाइलमधून वाचलेल्या निर्देशांकांनुसार सध्याच्या ड्रॉइंग स्पेसमध्ये सुरक्षितपणे "पॉइंट" आदिम जोडू शकतो.

    वापरून (Transaction tr = db.TransactionManager.StartTransaction()) ( // तुम्ही ब्लॉक टेबलशिवाय करू शकता आणि डेटाबेस BlockTableRecord btr = (BlockTableRecord)tr.GetObject(db) दर्शवणाऱ्या ऑब्जेक्टवरून थेट वर्तमान ड्रॉइंग स्पेसचा ब्लॉक मिळवू शकता. .CurrentSpaceId, OpenMode. forWrite; string lines = File.ReadAllLines(sourceFileName.StringResult); स्ट्रिंग कॉर्ड; foreach (स्ट्रिंग ओळींमध्ये) ( coord = s.Split(नवीन char ( " " )); दुहेरी coordX = रूपांतरित करा. ToDouble(coord); double coordY = Convert.ToDouble(coord); double coordZ = Convert.ToDouble(coord); DBPoint पॉइंट = नवीन DBPoint(नवीन Point3d(coordX, coordY, coordZ)); btr.AppendEntity(बिंदू); .AddNewlyCreatedDBObject(बिंदू, सत्य); ) btr.निपटारा(); tr.Commit(); )
    समस्या व्यावहारिकपणे सोडवली आहे. पूर्ण करण्यासाठी फक्त एक अट शिल्लक आहे: वापरकर्ता समन्वय प्रणाली (UCS) च्या समन्वयांमध्ये बिंदू आदिम तयार करणे आवश्यक आहे. हे नोंद घ्यावे की जागतिक समन्वय प्रणाली (WCS) मधील ड्रॉइंग डेटाबेसमध्ये आदिम संग्रहित केले जातात. म्हणून, आदिम तयार करताना, परिवर्तन करणे आवश्यक आहे: UCS->WCS. हे सानुकूल समन्वय प्रणाली मॅट्रिक्स वापरून केले जाते:

    Matrix3d ​​ucsMatrix = ed.CurrentUserCoordinateSystem;
    चला एक परिवर्तन जोडूया:

    ( ... point.TransformBy(ucsMatrix.Inverse()); ... )
    तर, कार्यक्रम पूर्णपणे लिहिलेला आहे. पुढे काय?

    नॅनोकॅडमध्ये अनुप्रयोग लोड करत आहे
    सर्वात आनंददायक भाग शिल्लक आहे - नॅनोकॅडमध्ये प्रोग्राम डाउनलोड करा आणि आपल्या कार्याच्या परिणामांची प्रशंसा करा. तुम्हाला आठवत असेल, आम्ही एक क्लास लायब्ररी म्हणून कार्यरत प्रकल्प तयार केला आहे, म्हणून यशस्वी संकलनानंतर, तुमच्या प्रकल्पाच्या नावासह एक असेंब्ली तयार केली जाईल. nanoCAD उघडा, कमांड लाइनवर NETLOAD कमांड लिहा, सूचीमधून तयार केलेली लायब्ररी निवडा आणि ती लोड करा. प्रोग्राम चालवण्यासाठी, कमांड प्रॉम्प्टवर फक्त कमांडचे नाव IMPORTCOORDS प्रविष्ट करा.
    निर्देशांक आयात करा. आवृत्ती 2.0
    आम्ही अनेक उपयुक्त कार्ये आणि वापरकर्ता इंटरफेस घटक जोडून अनुप्रयोगाची पहिली आवृत्ती सुधारू.

    जर अनुप्रयोगाच्या पहिल्या आवृत्तीने मजकूर फाइल "समजली" ज्यामध्ये निर्देशांक केवळ रिक्त स्थानांद्वारे विभक्त केले गेले होते आणि दशांश विभाजक म्हणून कालावधी वापरला गेला असेल, तर आता अनुप्रयोग टॅब, स्पेस किंवा अर्धविरामाने विभक्त केलेले निर्देशांक "ओळखण्यास" सक्षम असेल. . दशांश विभाजकासाठी, तो आता एकतर कालावधी किंवा स्वल्पविराम असू शकतो; प्रादेशिक सेटिंग्ज विचारात न घेता आयात केले जाईल. IMPORTCOORDS कमांड आता एक मॉडेल समन्वय आयात संवाद उघडेल, ज्यामध्ये वापरकर्ता फाइल निवडू शकतो आणि इच्छित समन्वय आयात सेटिंग्ज निर्दिष्ट करू शकतो.

    निर्देशांक आयात करण्यासाठी आणि आदिम तयार करण्याची सामान्य यंत्रणा अक्षरशः अपरिवर्तित राहिली आहे, परंतु आता हे फॉर्म वर्गात होईल आणि IMPORTCOORDS कमांड हँडलर पद्धतीचे कार्य आता फक्त फॉर्म ऑब्जेक्ट तयार करणे आणि स्क्रीनवर फॉर्म प्रदर्शित करणे इतके कमी केले आहे. मॉडेल संवादाचे स्वरूप:

    सार्वजनिक शून्य importCoords() ( फॉर्म फॉर्म = नवीन आयातफॉर्म (); HostMgd.ApplicationServices.Application.ShowModalDialog(फॉर्म);)
    ज्यानंतर नियंत्रण निर्देशांक आयात फॉर्मच्या विंडोमध्ये हस्तांतरित केले जाईल.

    अर्ज
    अर्ज फॉर्ममध्ये खालील घटक समाविष्ट आहेत:
    • फाइल उघडण्यासाठी बटण
    • फाइल उघडा संवाद
    • समन्वय विभाजक वर्ण निवडण्यासाठी चेकबॉक्सेसचा समूह: टॅब, स्पेस, अर्धविराम
    • निर्देशांकांसह स्ट्रिंग्सच्या पार्सिंगचे पूर्वावलोकन करण्यासाठी मजकूर फील्ड
    • निर्देशांक आयात करण्यासाठी बटण
    • रद्द करा बटण
    ही नियंत्रणे वापरून, वापरकर्ता आता इच्छित विभाजक वर्ण निर्दिष्ट करू शकतो, पूर्वावलोकन फील्डमध्ये परिणाम तपासू शकतो (मजकूर फाईल आयात करताना एमएस एक्सेलमध्ये काय केले जाते) आणि निर्देशांक आयात करणे सुरू करा:

    ऑटोकॅड सुसंगत
    शेवटी, मी हे लक्षात घेऊ इच्छितो की नॅनोकॅडसाठी लिहिलेला अनुप्रयोग ऑटोकॅडमध्ये कार्य करण्यासाठी सहजपणे पुन्हा संकलित केला जाऊ शकतो. हे करण्यासाठी, आपल्याला पुढील गोष्टी करण्याची आवश्यकता आहे:
    • संदर्भ टॅबमध्ये, ObjectARX मध्ये समाविष्ट असलेल्या खालील लायब्ररी कनेक्ट करा:
      • AcCoreMgd.dll
      • AcDbMgd.dll
      • AcMgd.dll
    • nanoCAD किंवा AutoCAD अंतर्गत संकलनासाठी वापरल्या जाणाऱ्या नेमस्पेसेस परिभाषित करण्यासाठी अनुप्रयोग कोडमध्ये एक सशर्त संकलन निर्देश जोडा:
      #if ACAD Autodesk.AutoCAD.ApplicationServices वापरून; Autodesk.AutoCAD.DatabaseServices वापरून; Autodesk.AutoCAD.EditorInput वापरून; Autodesk.AutoCAD.Geometry वापरून; Autodesk.AutoCAD.Runtime वापरून; प्लॅटफॉर्म वापरणे = Autodesk.AutoCAD; PlatformDb = Autodesk.AutoCAD वापरून; #else HostMgd.ApplicationServices वापरून; HostMgd.EditorInput वापरून; Teigha.DatabaseServices वापरून; Teigha.Geometry वापरून; Teigha.Runtime वापरून; प्लॅटफॉर्म = HostMgd वापरून; PlatformDb = Teigha वापरून; #endif
    • तुमच्या कोडमधील प्लॅटफॉर्म-विशिष्ट नेमस्पेसेस वर परिभाषित केलेल्या उपनामांसह पुनर्स्थित करा: प्लॅटफॉर्म आणि प्लॅटफॉर्मडीबी.
    प्रकल्पाच्या दोन्ही आवृत्त्या उपलब्ध आहेत

    मला विविध स्त्रोत डेटासह कार्य करावे लागले, परंतु सर्वेक्षणकर्त्यांकडून प्राप्त झालेल्या बिंदू फाइल्स नेहमीच एक विशेष आनंद देत होत्या. याचे कारण असे आहे की तुम्हाला त्यांच्यामध्ये आणि पूर्णपणे अप्रत्याशित स्वरूपात तुम्हाला हवे असलेले काहीही मिळू शकते. म्हणूनच, मला बऱ्याचदा एक्सेलच्या सेवा वापराव्या लागल्या, उदाहरणार्थ, अनावश्यक स्तंभ फेकण्यासाठी किंवा अंकगणित ऑपरेशन्स करण्यासाठी.

    सर्व काही ठीक होईल, परंतु आपण Excel मध्ये मजकूर फाइल (*.txt) सेव्ह केल्यानंतर, सिव्हिल ही फाइल स्वीकारण्यास नकार देईल आणि प्रदर्शित करेल कोणतेही जुळणारे फाइल स्वरूप आढळले नाही. जरी, आपण Excel मध्ये डेटा तपासल्यास, आपल्याला दिसेल की सर्व डेटा योग्य आहे आणि स्तंभ आवश्यक स्वरूपात आहेत.

    याचे कारण म्हणजे फाईल txt फॉरमॅटमध्ये सेव्ह करताना स्तंभांमध्ये विभाजक म्हणून Excel जो टॅब घालतो. आपण निवडले की नाही याची पर्वा न करता युनिकोड मजकूर,डॉस,मॅकिंटॉशकिंवा टॅब-सीमांकित मजकूर फायली. सर्वत्र परिसीमक म्हणून एक टॅब असेल, परंतु ऑटोकॅड सिव्हिल 3D हा टॅब स्वीकारत नाही. काय करायचं?

    प्रथम, मी तुम्हाला एक्सेलमध्ये मजकूर फाइलमधून डेटा योग्यरित्या कसा आयात करायचा ते सांगेन. स्वाभाविकच, जेव्हा आपण दाबता उघडाएक्सेलमध्ये, डीफॉल्ट सेटिंग म्हणजे *.xls इ. विस्तारासह फाइल्स उघडणे. निवडा सर्व फायलीआणि तुमचा txt निर्दिष्ट करा, आकृती 1 प्रमाणे विंडो दिसेल.


    निवडा परिसीमकांसह. आपण लगेच दाबल्यास तयार, नंतर आमच्या टेबलमध्ये सर्व डेटा एका स्तंभात बसेल, सामान्य ऑपरेशनसाठी स्तंभांमध्ये विभागणे आवश्यक आहे, याचा अर्थ तुम्हाला विभाजक काय आहे हे सूचित करणे आवश्यक आहे, म्हणून क्लिक करा पुढील. नवीन विंडोमध्ये तुम्हाला विभाजक काय आहे ते सेट करणे आवश्यक आहे जागा, आकृती 2 प्रमाणे. नंतर तुम्ही दाबू शकता तयार. यानंतर, आपण आवश्यक क्रिया करू शकता आणि फाईल txt स्वरूपात जतन करू शकता.

    मायक्रोसॉफ्ट वर्डमध्ये तुमची पोस्ट-एक्सेल फाइल उघडा आणि अदृश्य वर्णांचे प्रदर्शन चालू करा, तुम्हाला हे मिळाले पाहिजे:


    आकृती 3. MS Word मध्ये डेटा डिस्प्ले

    बाण सूचित करतो की परिसीमक टॅब आहे. उपाय सोपे आहे - बाण चिन्ह निवडा आणि कॉपी करा. नंतर शोध टॅबवर जा बदला. तिकडे रांगेत शोधणेक्लिपबोर्डवरून टॅब पेस्ट करा, कर्सर उडी मारली पाहिजे. आणि मध्ये च्या बदल्यातएक जागा ठेवा आणि आपण सर्वकाही सुरक्षितपणे बदलू शकता. यानंतर सिव्हिल ही फाइल मूळ मानेल.

    तुम्हाला CSV एक्स्टेंशन देखील नमूद करणे आवश्यक आहे, जर तुम्हाला या फॉरमॅटमध्ये सेव्ह करायचे असेल तर एक्सेल तुम्हाला आश्चर्यचकित करेल. स्वल्पविराम परिसीमाऐवजी, ते अर्धविराम घालते. त्यानुसार सिव्हिलही अशी फाइल स्वीकारत नाही. उपाय एकच आहे - Word मधील अर्धविराम स्वल्पविराम किंवा स्पेसने बदला.

    AutoCAD सॉफ्टवेअरशी कनेक्ट करण्यासाठी आम्ही तुमच्या लक्षांत अतिरिक्त अनुप्रयोग सादर करतो.

    सर्व अर्ज विनामूल्य वितरीत केले जातात

    1. Geo_Tools - टोपोग्राफर आणि सर्वेक्षकांसाठी साधनांचा एक संच, ऑटोकॅडसाठी ॲड-ऑन म्हणून काम करतो (ऑटोकॅड 2008 पासून).

    टूल्स इन्स्टॉल करताना, स्टँडर्ड ऑटोकॅड टूल पॅलेटची जागा geo_tools पॅलेटने घेतली आहे, ज्यांनी पॅलेट स्वतःच्या टूल्सने भरले आहे किंवा स्टँडर्ड वापरत आहेत त्यांच्याकडून हे लक्षात घेतले पाहिजे. आवृत्ती 2014.05.11 पासून, 21-47 बदलत नाही, परंतु मानक पॅलेटमध्ये जोडली जाते.

    Geo_Tools हटवल्यानंतर तुम्हाला ते आवडत नसल्यास, सर्व बदल AutoCAD साठी मानक एकावर परत येतील. टूलबार आणि geo_tools रिबनला स्पर्श केला जात नाही.

    तुम्ही AutoCAD 2016 साठी जोडलेले समर्थन लिंकवरून 2015.07 आवृत्ती डाउनलोड करू शकता.

    तुम्ही AutoCAD 2017 साठी जोडलेल्या सपोर्ट लिंकवरून 2016.10 आवृत्ती डाउनलोड करू शकता.

    तुम्ही लिंकवरून 2017.10 आवृत्ती डाउनलोड करू शकता. पॉइंट इंपोर्ट लेयर निर्दिष्ट करण्याची आणि वर्णनानुसार पॉइंट्सवर ब्लॉक्स घालण्याची क्षमता जोडली आहे.

    स्थापना सूचना:

    1. अनपॅक करा आणि डाउनलोड केलेला डेटा फोल्डरमध्ये ठेवा " सी :\प्रोग्राम फाइल्स\geo_tools\ "

    (टीप: AutoCAD 2014-2016 साठी हे फोल्डर विश्वसनीय स्त्रोतांमध्ये जोडले जाणे आवश्यक आहे: प्रविष्ट करा _पर्याय कन्सोलमध्ये, विभागात फाईल्स -> विश्वसनीय स्थाने -> ओळ जोडा "c:\Program Files\geo_tools... ")

    2. कन्सोलमध्ये "एंटर करा _अपलोड करा "-> फोल्डरवर जा" सी :\प्रोग्राम फाइल्स\geo_tools\ "आणि फाइल निवडा" acaddoc.lsp" -> दाबा डाउनलोड करा "

    2. ऑटोकॅड सॉफ्टवेअरमध्ये पॉइंट लोड करण्यासाठी प्रोग्राम.

    अनुप्रयोग तुम्हाला मजकूर आणि SDR स्वरूपात पॉइंट डाउनलोड करण्याची परवानगी देतो.

    _अपलोड करा " -> डाउनलोड केलेली फाइल निवडा आणि दाबा डाउनलोड करा ".

    3. ऑटोकॅड सॉफ्टवेअरमधून पॉइंट एक्सपोर्ट करण्यासाठी प्रोग्राम.

    ॲप्लिकेशन तुम्हाला त्यानंतरच्या डिव्हाइसवर पाठवण्यासाठी मजकूर स्वरूपात पॉइंट अपलोड करण्याची परवानगी देतो.

    अनुप्रयोग डाउनलोड करण्यासाठी, आपण प्रविष्ट करणे आवश्यक आहे " _अपलोड करा " -> डाउनलोड केलेली फाइल निवडा आणि दाबा डाउनलोड करा ".

    4. विचलन रेखाटण्यासाठी ऑटोकॅड प्रोग्राम

    हा कार्यक्रम बांधकामात तयार केलेल्या आकृत्यांच्या डिझाइनमध्ये, डिझाइन स्थितीपासून मोजलेल्या बिंदूंचे विचलन काढण्यात मदत करतो.

    अर्ज डाउनलोड करा.

    शुभ दुपार.
    आज आपण सिव्हिल 3D बिंदूंशी आपली ओळख सुरू करू. उदाहरणार्थ, आपण फाईलमधून पॉइंट कसे जोडायचे ते शिकू.
    रिबनमध्ये, “पॉइंट्स” ड्रॉप-डाउन मेनू शोधा आणि “पॉइंट क्रिएशन टूल” आयटम निवडा. उघडणाऱ्या “पॉइंट्स तयार करा” पॅनेलमध्ये, “इम्पोर्ट पॉइंट” बटणावर क्लिक करा.


    "फायली जोडा" वर क्लिक करा. इच्छित फाइल प्रकार निवडा आणि जोडा.
    इच्छित बिंदू फाइल स्वरूप निर्दिष्ट करा. बहुतेक प्रकरणांमध्ये, हा असा क्रम आहे ज्यामध्ये डेटा फाइलच्या ओळींमध्ये दिसतो, उदाहरणार्थ: संख्या, पूर्व, उत्तर, जमिनीची उंची. "स्वल्पविराम" किंवा "स्पेस" - याचा अर्थ असा आहे की समान प्रकारचे डेटा विभाजक स्वल्पविराम किंवा स्पेस आहे.
    कोणतेही योग्य स्वरूप नसल्यास, आपल्याला नवीन स्वरूप तयार करणे आवश्यक आहे.
    "स्वरूपे व्यवस्थापित करा" बटणावर क्लिक करा. उघडणाऱ्या “पॉइंट फाइल फॉरमॅट्स” विंडोमध्ये, “तयार करा...” वर क्लिक करा. उघडणाऱ्या विंडोमध्ये, निवडा:
    - मायक्रोसॉफ्ट ऍक्सेसमध्ये फाइल तयार केली असल्यास वापरकर्ता पॉइंट डेटाबेस.
    - वापरकर्ता बिंदू फाइल. सर्वात सामान्य पर्याय txt आहे. त्याचा विचार करूया.


    उघडणाऱ्या “पॉइंट फाइल फॉरमॅट” विंडोमध्ये फॉरमॅटचे नाव भरा आणि डीफॉल्ट फाइल एक्स्टेंशन (txt) निवडा. आपण आपला स्वतःचा विस्तार देखील प्रविष्ट करू शकता.
    टिप्पणी चिन्ह: आवश्यक असल्यास, इच्छित चिन्ह प्रविष्ट करा. पॉइंट फाइलमध्ये, निर्दिष्ट वर्णाच्या आधीच्या ओळी प्रोग्रामद्वारे वाचल्या जाणार नाहीत.
    स्वरूप पर्याय:
    - टॅब्युलेशन वापरले असल्यास स्तंभानुसार.
    - परिसीमक. वापरण्यासाठी विभाजक निर्दिष्ट करा. सामान्यतः हा स्वल्पविराम किंवा स्पेस असतो.
    आणखी वाचा: आवश्यक असल्यास, प्रश्नातील ऑब्जेक्टशी संबंधित फाइलमधील बिंदूंची संख्या निर्दिष्ट करा.
    सॅम्पलिंग अंतराल: सर्वेक्षण ज्या अचूकतेसह केले गेले त्याची आवश्यकता नसल्यास निर्दिष्ट करा.
    समन्वय क्षेत्र परिवर्तन: आंतरराष्ट्रीय समन्वय प्रणाली ज्ञात असल्यास निर्दिष्ट आणि कॉन्फिगर केले आहे. रशियन फेडरेशनमध्ये, एक नियम म्हणून, ते वापरले जात नाही, कारण आमचे सर्वेक्षण सर्वेक्षण क्षेत्राच्या स्थानिक समन्वय प्रणालीमध्ये केले जातात.
    आम्ही बिंदूंच्या मजकूर फाइलमधील डेटानुसार स्तंभ निर्दिष्ट करतो.
    "अपलोड..." बटणावर क्लिक करून फाइल अपलोड करा.
    आम्ही "विश्लेषण" बटणावर क्लिक करून विश्लेषण करतो.
    सर्वकाही ठीक असल्यास, प्रोग्राम विश्लेषण करतो. अन्यथा, तो एक चेतावणी जारी करतो.


    "ओके" वर क्लिक करा. “पॉइंट फाइल फॉरमॅट्स” विंडो बंद करा.
    फाइलमधील वर्णनानुसार प्रोग्राम पॉइंट ग्रुप्समध्ये पॉइंट्स जोडेल.
    तुम्हाला बिंदूंच्या इच्छित गटामध्ये गुण जोडायचे असल्यास, हा पर्याय तपासा. तुम्ही बिंदूंचा एक नवीन गट देखील तयार करू शकता, उदाहरणार्थ “पृथ्वी”.


    "ओके" वर क्लिक करा. पॉइंट्स आयात केले जातात.
    तुम्हाला बिंदू दिसत नाहीत कारण ते रेखाचित्राच्या दृश्यमान क्षेत्राच्या बाहेर असतील. या प्रकरणात, आपल्याला माउस व्हीलवर डबल-क्लिक करणे आवश्यक आहे आणि ड्रॉइंगमधील सर्व ऑब्जेक्ट्स पाहण्यासाठी स्क्रीन स्वयंचलितपणे हलवेल आणि स्केल करेल.

    नॅनोकॅडसाठी प्रोग्रामिंगबद्दल सर्वात लोकप्रिय प्रश्नांपैकी एक म्हणजे "मी मजकूर फाइलमधून पॉइंट कसे आयात करू शकतो?" हे कठीण काम नाही, परंतु व्यावसायिक डिझाइनरला व्यावसायिक प्रोग्रामर असणे आवश्यक नाही, म्हणून आम्ही हा लेख "नवशिक्यांसाठी" शैलीमध्ये लिहिला.

    तुम्ही nanoCAD मधील विद्यमान API प्रकारांचा वापर करून रेखांकनामध्ये निर्देशांक आयात करू शकता. आम्ही .NET निवडण्याचे आणि दोन समान API ची तुलना करण्याचा निर्णय घेतला: क्लासिक .NET API आणि क्रॉस-CAD प्लॅटफॉर्म MultiCAD.NET API. कटच्या खाली पहिला भाग आहे - क्लासिक .NET API वापरून बिंदू आयात करणे.

    दिले:बिंदूंच्या X, Y, Z समन्वयांसह मजकूर फाइल, प्रति ओळ एक बिंदू. निर्देशांक एका जागेद्वारे विभक्त केले जातात, अंशात्मक विभाजक एक बिंदू आहे.

    आवश्यक: IMPORTCOORDS कमांड वापरून, फाईलच्या नावाची विनंती करणारा अनुप्रयोग लिहा आणि DatabaseServices.DBPoint ऑब्जेक्ट्सच्या रूपात वर्तमान ड्रॉइंग स्पेसमध्ये सापडलेले निर्देशांक आयात करा. रेखांकनाच्या वर्तमान वापरकर्ता समन्वय प्रणाली (UCS) मध्ये ऑब्जेक्ट निर्देशांक आयात करणे आवश्यक आहे.

    कार्यरत प्रकल्प तयार करणे आणि स्थापित करणे
    अनुप्रयोग तयार करण्यासाठी आम्हाला खालील साधनांची आवश्यकता असेल:
    • nanoCAD (आवृत्ती 3.5 पेक्षा कमी नाही)
    • मायक्रोसॉफ्ट व्हिज्युअल स्टुडिओ 2008 (nanoCAD 3.5 - nanoCAD 5.0 ​​सपोर्ट लोडिंग .NET अनुप्रयोग .NET फ्रेमवर्क 3.5 वर तयार केलेले).
    आणि, अर्थातच, असे गृहीत धरले जाते की तुम्हाला C# मध्ये थोडेसे प्रोग्रामिंग माहित आहे. नसल्यास, MSDN लायब्ररीमध्ये आपले स्वागत आहे.

    खालील सेटिंग्जसह व्हिज्युअल स्टुडिओमध्ये नवीन प्रकल्प तयार करा:

    • प्रकल्प प्रकार: व्हिज्युअल C#
    • साचा:वर्ग ग्रंथालय
    अशा प्रकारे, आमचा अर्ज एक नियमित .NET असेंब्ली (DLL) आहे, जो नंतर nanoCAD मध्ये लोड केला जाईल.
    संदर्भ टॅबमध्ये आम्ही नॅनोकॅड किटमध्ये समाविष्ट असलेल्या खालील लायब्ररी कनेक्ट करतो:
    • hostdbmgd.dll
    • hostmgd.dll
    आता तुम्ही सुरक्षितपणे प्रोग्राम लिहिण्यासाठी पुढे जाऊ शकता.
    कार्यक्रम रचना
    अंमलबजावणी खालील चरणांमध्ये विभागली जाऊ शकते:
    1. IMPORTCOORDS कमांडची नोंदणी करा.
    2. वर्तमान रेखाचित्र डेटाबेस आणि कमांड लाइन संपादक मिळवा.
    3. निर्देशांकांसह फाइल नावाची विनंती करा.
    4. फाइल उघडा, निर्देशांकांसह ओळी वाचा.
    5. वैयक्तिक निर्देशांकांसह DBPoint ऑब्जेक्ट्स तयार करा. त्यांचे समन्वय वर्तमान वापरकर्ता समन्वय प्रणालीमध्ये रूपांतरित करा.
    6. तयार केलेल्या वस्तू सध्याच्या ड्रॉइंग स्पेसमध्ये (मॉडेल स्पेस किंवा पेपर स्पेस) जोडा.
    आमच्या ऍप्लिकेशनला nanoCAD मध्ये कॉल करणाऱ्या कमांडची नोंदणी करण्यासाठी, या कमांडद्वारे कॉल करणारी पद्धत परिभाषित करण्यापूर्वी, आम्हाला एक विशेषता घोषित करणे आणि कमांडचे नाव निर्दिष्ट करणे आवश्यक आहे. कृपया लक्षात घ्या की पद्धतीमध्ये सार्वजनिक सुधारक असणे आवश्यक आहे:

    सार्वजनिक शून्य importCoords() (... )
    सुरू ठेवण्यापूर्वी, मी तुम्हाला थांबवू इच्छितो आणि थोडक्यात सांगू इच्छितो की "ड्रॉइंग डेटाबेस" म्हणजे काय. .dwg फाइल हा एक डेटाबेस आहे ज्याची रचना कठोर आहे, ज्याचे मुख्य घटक टेबल्स (सिम्बॉल टेबल्स) आहेत, ज्यामध्ये ड्रॉइंगच्या सर्व ऑब्जेक्ट्स असतात. हे केवळ ग्राफिक ऑब्जेक्ट्स नाहीत जे आपण ड्रॉईंगमध्ये पाहतो (सरळ रेषा, आर्क्स, पॉइंट्स इ.), परंतु इतर अनेक ऑब्जेक्ट्स देखील आहेत जे ड्रॉइंगची सामग्री आणि सेटिंग्ज निर्धारित करतात. उदाहरणार्थ, लेयर टेबलमध्ये ड्रॉईंगमधील सर्व लेयर्स असतात, लाइनटाइप टेबल ड्रॉइंगमध्ये परिभाषित केलेल्या सर्व रेषा शैली संग्रहित करते, यूसीएस टेबल दिलेल्या ड्रॉइंगसाठी वापरकर्त्याने तयार केलेल्या सर्व समन्वय प्रणाली संग्रहित करते, इ. नवीन ड्रॉइंग ऑब्जेक्ट म्हणजे संबंधित डेटाबेस ऑब्जेक्ट तयार करणे.

    चला तर मग सुरू ठेवूया. सर्व प्रथम, आपल्याला सर्व खुल्या दस्तऐवजांमधून वर्तमान निवडण्याची आणि त्याचा डेटाबेस उघडण्याची आवश्यकता आहे. हे करण्यासाठी, आम्हाला सर्व खुल्या दस्तऐवजांचा एक ऑब्जेक्ट व्यवस्थापक मिळतो, आणि नंतर, त्याच्या मदतीने, एक डेटाबेस ज्यासह आम्ही कार्य करणे सुरू ठेवू.

    डॉक्युमेंट कलेक्शन dm = Application.DocumentManager; डेटाबेस db = dm.MdiActiveDocument.Database;
    आमचा अर्ज फाईल नावासाठी प्रॉम्प्ट करण्यासाठी, आम्हाला एडिटर ऑब्जेक्ट मिळवण्याची आवश्यकता आहे आणि विशिष्ट प्रकारच्या वापरकर्ता इनपुटची विनंती करण्याची पद्धत कॉल करणे आवश्यक आहे (आमच्या बाबतीत, फाइल नाव):

    // कमांड लाइन एडिटर एडिटर मिळवा ed = dm.MdiActiveDocument.Editor; // विनंती परिणाम प्राप्त करण्यासाठी ऑब्जेक्ट PromptFileNameResult sourceFileName; // विनंती आदेश ओळीवर आउटपुट करा आणि परिणाम मिळवा sourceFileName = ed.GetFileNameForOpen("\nइम्पोर्ट करण्यासाठी निर्देशांक फाइलचे नाव प्रविष्ट करा:"); जर (sourceFileName.Status == PromptStatus.OK) ( ... )
    मजकूर फायली वाचण्यासाठी आणि स्ट्रिंग डेटा प्रकारांसह कार्य करण्यासाठी C# कार्यक्षमता वापरून फाइलमधून निर्देशांक मिळवणे अगदी सोपे आहे:

    // फाईल वाचा, स्ट्रिंग स्ट्रिंग लाइन्सच्या ॲरेप्रमाणे सामग्री मिळवा = File.ReadAllLines(sourceFileName.StringResult); // प्रत्येक ओळीसाठी, स्पेसने विभक्त केलेल्या सबस्ट्रिंग्सचा ॲरे लिहा (कारण, समस्येनुसार, स्पेस कॅरेक्टर समन्वय विभाजक म्हणून कार्य करते). // अशा प्रकारे आपल्याला निर्देशांकांची ॲरे मिळते, फक्त मजकूर स्वरूपात, नंतर आपण त्यांना दुहेरी संख्यांमध्ये रूपांतरित करतो. स्ट्रिंग समन्वय; foreach (स्ट्रिंग ओळींमध्ये s) ( coord = s.Split(नवीन अक्षर ( " " )); डबल coordX = Convert.ToDouble(coord); दुहेरी coordY = Convert.ToDouble(coord); दुहेरी coordZ = Convert.ToDouble(coord) );)
    चला ग्राफिक आदिम (संस्था) तयार करण्याकडे वळू. वर नमूद केल्याप्रमाणे, ड्रॉईंगमध्ये संग्रहित केलेली कोणतीही वस्तू (फक्त ग्राफिक नाही) तयार करण्यासाठी, ती ड्रॉइंग डेटाबेसमध्ये जोडली जाणे आवश्यक आहे, म्हणजे संबंधित कंटेनर ऑब्जेक्टमध्ये. म्हणून, उदाहरणार्थ, सर्व स्तर लेयर टेबलमध्ये नोंदी म्हणून संग्रहित केले जातात, जे या प्रकरणात त्यांच्यासाठी कंटेनर ऑब्जेक्ट आहे. सामान्य डेटाबेस रचना खालीलप्रमाणे आहे:

    ग्राफिक प्रिमिटिव्ह थेट डेटाबेसमध्ये संग्रहित केले जातात, परंतु वैयक्तिक ब्लॉक्सच्या संरचनेत, जे यामधून ब्लॉक टेबलमध्ये नोंदी असतात. हे खूप सोयीस्कर आहे कारण ही यंत्रणा तुम्हाला ऑब्जेक्ट्सचे नाव असलेल्या ब्लॉक्समध्ये सहजपणे गटबद्ध करू देते आणि त्यांना संपूर्णपणे व्यवस्थापित करू देते. तसे, डेटाबेसमधील मॉडेल स्पेस आणि शीट स्पेस देखील वेगळ्या ब्लॉक्सद्वारे दर्शविले जातात. अशा प्रकारे, ग्राफिक आदिमसाठी, कंटेनर एक स्वतंत्र ब्लॉक असेल, जो यामधून, मूळ ऑब्जेक्टचा असेल - ब्लॉक्सची सारणी.

    आम्ही डेटाबेससह काम करत असल्याने, प्रोग्रामच्या अंमलबजावणीदरम्यान काही त्रुटी आढळल्यास त्याची अखंडता आणि संरक्षण सुनिश्चित करणे आवश्यक आहे. यासाठी व्यवहाराची यंत्रणा वापरली जाते. व्यवहार संपूर्णपणे केल्या जाणाऱ्या अनेक ऑपरेशन्स एकत्र करतात: काहीतरी चूक झाल्यास, व्यवहार रद्द केला जातो आणि या व्यवहाराचा भाग म्हणून तयार केलेल्या वस्तू दस्तऐवजात जोडल्या जाणार नाहीत. सर्व ऑपरेशन्स यशस्वीरित्या पूर्ण झाल्यास, व्यवहाराची पुष्टी केली जाते आणि ऑब्जेक्ट्स डेटाबेसमध्ये जोडल्या जातात.

    या ज्ञानासह सशस्त्र, आम्ही फाइलमधून वाचलेल्या निर्देशांकांनुसार सध्याच्या ड्रॉइंग स्पेसमध्ये सुरक्षितपणे "पॉइंट" आदिम जोडू शकतो.

    वापरून (Transaction tr = db.TransactionManager.StartTransaction()) ( // तुम्ही ब्लॉक टेबलशिवाय करू शकता आणि डेटाबेस BlockTableRecord btr = (BlockTableRecord)tr.GetObject(db) दर्शवणाऱ्या ऑब्जेक्टवरून थेट वर्तमान ड्रॉइंग स्पेसचा ब्लॉक मिळवू शकता. .CurrentSpaceId, OpenMode. forWrite; string lines = File.ReadAllLines(sourceFileName.StringResult); स्ट्रिंग कॉर्ड; foreach (स्ट्रिंग ओळींमध्ये) ( coord = s.Split(नवीन char ( " " )); दुहेरी coordX = रूपांतरित करा. ToDouble(coord); double coordY = Convert.ToDouble(coord); double coordZ = Convert.ToDouble(coord); DBPoint पॉइंट = नवीन DBPoint(नवीन Point3d(coordX, coordY, coordZ)); btr.AppendEntity(बिंदू); .AddNewlyCreatedDBObject(बिंदू, सत्य); ) btr.निपटारा(); tr.Commit(); )
    समस्या व्यावहारिकपणे सोडवली आहे. पूर्ण करण्यासाठी फक्त एक अट शिल्लक आहे: वापरकर्ता समन्वय प्रणाली (UCS) च्या समन्वयांमध्ये बिंदू आदिम तयार करणे आवश्यक आहे. हे नोंद घ्यावे की जागतिक समन्वय प्रणाली (WCS) मधील ड्रॉइंग डेटाबेसमध्ये आदिम संग्रहित केले जातात. म्हणून, आदिम तयार करताना, परिवर्तन करणे आवश्यक आहे: UCS->WCS. हे सानुकूल समन्वय प्रणाली मॅट्रिक्स वापरून केले जाते:

    Matrix3d ​​ucsMatrix = ed.CurrentUserCoordinateSystem;
    चला एक परिवर्तन जोडूया:

    ( ... point.TransformBy(ucsMatrix.Inverse()); ... )
    तर, कार्यक्रम पूर्णपणे लिहिलेला आहे. पुढे काय?

    नॅनोकॅडमध्ये अनुप्रयोग लोड करत आहे
    सर्वात आनंददायक भाग शिल्लक आहे - नॅनोकॅडमध्ये प्रोग्राम डाउनलोड करा आणि आपल्या कार्याच्या परिणामांची प्रशंसा करा. तुम्हाला आठवत असेल, आम्ही एक क्लास लायब्ररी म्हणून कार्यरत प्रकल्प तयार केला आहे, म्हणून यशस्वी संकलनानंतर, तुमच्या प्रकल्पाच्या नावासह एक असेंब्ली तयार केली जाईल. nanoCAD उघडा, कमांड लाइनवर NETLOAD कमांड लिहा, सूचीमधून तयार केलेली लायब्ररी निवडा आणि ती लोड करा. प्रोग्राम चालवण्यासाठी, कमांड प्रॉम्प्टवर फक्त कमांडचे नाव IMPORTCOORDS प्रविष्ट करा.
    निर्देशांक आयात करा. आवृत्ती 2.0
    आम्ही अनेक उपयुक्त कार्ये आणि वापरकर्ता इंटरफेस घटक जोडून अनुप्रयोगाची पहिली आवृत्ती सुधारू.

    जर अनुप्रयोगाच्या पहिल्या आवृत्तीने मजकूर फाइल "समजली" ज्यामध्ये निर्देशांक केवळ रिक्त स्थानांद्वारे विभक्त केले गेले होते आणि दशांश विभाजक म्हणून कालावधी वापरला गेला असेल, तर आता अनुप्रयोग टॅब, स्पेस किंवा अर्धविरामाने विभक्त केलेले निर्देशांक "ओळखण्यास" सक्षम असेल. . दशांश विभाजकासाठी, तो आता एकतर कालावधी किंवा स्वल्पविराम असू शकतो; प्रादेशिक सेटिंग्ज विचारात न घेता आयात केले जाईल. IMPORTCOORDS कमांड आता एक मॉडेल समन्वय आयात संवाद उघडेल, ज्यामध्ये वापरकर्ता फाइल निवडू शकतो आणि इच्छित समन्वय आयात सेटिंग्ज निर्दिष्ट करू शकतो.

    निर्देशांक आयात करण्यासाठी आणि आदिम तयार करण्याची सामान्य यंत्रणा अक्षरशः अपरिवर्तित राहिली आहे, परंतु आता हे फॉर्म वर्गात होईल आणि IMPORTCOORDS कमांड हँडलर पद्धतीचे कार्य आता फक्त फॉर्म ऑब्जेक्ट तयार करणे आणि स्क्रीनवर फॉर्म प्रदर्शित करणे इतके कमी केले आहे. मॉडेल संवादाचे स्वरूप:

    सार्वजनिक शून्य importCoords() ( फॉर्म फॉर्म = नवीन आयातफॉर्म (); HostMgd.ApplicationServices.Application.ShowModalDialog(फॉर्म);)
    ज्यानंतर नियंत्रण निर्देशांक आयात फॉर्मच्या विंडोमध्ये हस्तांतरित केले जाईल.

    अर्ज
    अर्ज फॉर्ममध्ये खालील घटक समाविष्ट आहेत:
    • फाइल उघडण्यासाठी बटण
    • फाइल उघडा संवाद
    • समन्वय विभाजक वर्ण निवडण्यासाठी चेकबॉक्सेसचा समूह: टॅब, स्पेस, अर्धविराम
    • निर्देशांकांसह स्ट्रिंग्सच्या पार्सिंगचे पूर्वावलोकन करण्यासाठी मजकूर फील्ड
    • निर्देशांक आयात करण्यासाठी बटण
    • रद्द करा बटण
    ही नियंत्रणे वापरून, वापरकर्ता आता इच्छित विभाजक वर्ण निर्दिष्ट करू शकतो, पूर्वावलोकन फील्डमध्ये परिणाम तपासू शकतो (मजकूर फाईल आयात करताना एमएस एक्सेलमध्ये काय केले जाते) आणि निर्देशांक आयात करणे सुरू करा:

    ऑटोकॅड सुसंगत
    शेवटी, मी हे लक्षात घेऊ इच्छितो की नॅनोकॅडसाठी लिहिलेला अनुप्रयोग ऑटोकॅडमध्ये कार्य करण्यासाठी सहजपणे पुन्हा संकलित केला जाऊ शकतो. हे करण्यासाठी, आपल्याला पुढील गोष्टी करण्याची आवश्यकता आहे:
    • संदर्भ टॅबमध्ये, ObjectARX मध्ये समाविष्ट असलेल्या खालील लायब्ररी कनेक्ट करा:
      • AcCoreMgd.dll
      • AcDbMgd.dll
      • AcMgd.dll
    • nanoCAD किंवा AutoCAD अंतर्गत संकलनासाठी वापरल्या जाणाऱ्या नेमस्पेसेस परिभाषित करण्यासाठी अनुप्रयोग कोडमध्ये एक सशर्त संकलन निर्देश जोडा:
      #if ACAD Autodesk.AutoCAD.ApplicationServices वापरून; Autodesk.AutoCAD.DatabaseServices वापरून; Autodesk.AutoCAD.EditorInput वापरून; Autodesk.AutoCAD.Geometry वापरून; Autodesk.AutoCAD.Runtime वापरून; प्लॅटफॉर्म वापरणे = Autodesk.AutoCAD; PlatformDb = Autodesk.AutoCAD वापरून; #else HostMgd.ApplicationServices वापरून; HostMgd.EditorInput वापरून; Teigha.DatabaseServices वापरून; Teigha.Geometry वापरून; Teigha.Runtime वापरून; प्लॅटफॉर्म = HostMgd वापरून; PlatformDb = Teigha वापरून; #endif
    • तुमच्या कोडमधील प्लॅटफॉर्म-विशिष्ट नेमस्पेसेस वर परिभाषित केलेल्या उपनामांसह पुनर्स्थित करा: प्लॅटफॉर्म आणि प्लॅटफॉर्मडीबी.
    प्रकल्पाच्या दोन्ही आवृत्त्या उपलब्ध आहेत