2009-02-01 9 views
6

मैं सी ++ में, मुद्रित सर्किट बोर्ड और स्कीमैटिक्स (उर्फ ईडीए सीएडी) के लिए कंप्यूटर एडेड डिज़ाइन पैकेज विकसित कर रहा हूं। यह कुछ विशिष्ट चीजों के लिए लुआ का उपयोग करता है, लेकिन मैं लुआ की भूमिका का विस्तार करना चाहता हूं ताकि यह उपयोगकर्ता इंटरफ़ेस तर्क का अधिक उपयोग कर सके।मैं संरचना को सीएडी पैकेज कैसे डिजाइन करूं?

मैं एक तरह से जो लोग संपादन लुआ द्वारा आसानी से यूजर इंटरफेस के व्यवहार को बदलने की सुविधा देता है में आंतरिक फिर से निर्माण, और भी ब्रांड के नए कार्यक्षमता जोड़ने के लिए चाहते हैं।

समस्या, लुआ कोड के लिए बड़े पैमाने पर एपीआई के कुछ प्रकार उजागर की कमी है, मैं यह करने के लिए एक अच्छा तरीका नहीं सोच सकते हैं। मुझे संदेह है कि एक विशाल एपीआई, जो कुछ भी मैं सोच सकता हूं उसके लिए फ़ंक्शन कॉल के साथ शायद एक खराब डिज़ाइन है। मैं एक सिस्टम कैसे डिज़ाइन कर सकता हूं जो उपयोगकर्ताओं को उन चीजों को लागू करने देता है जिनके बारे में मैंने सोचा नहीं था?

क्या कोई अच्छा दस्तावेज़ या पुस्तक है जिसे मैं पढ़ सकता हूं, या एक मंच जहां लोग इस तरह की बात करते हैं। मैं अब कई महीनों के लिए खोज और सोच रहा हूं, और मुझे अभी भी यकीन नहीं है कि जवाब क्या है।

बीटीडब्ल्यू, परियोजना को LiquidPCB कहा जाता है।

बहुत धन्यवाद

ह्यूगो

उत्तर

0

प्रयास करें SWIG (सरलीकृत आवरण और इंटरफेस जेनरेटर)। यह मौजूदा सी/सी ++ हेडर फ़ाइलों के लिए लुआ रैपर उत्पन्न कर सकता है। यह आपको लुआ को सभी एपीआई को जल्दी से बेनकाब करने की अनुमति देगा। अपने अनुभव के आधार पर आप विभिन्न वास्तुकला पर निर्णय ले सकते हैं।

+0

मेरा प्रश्न लुआ के बारे में बहुत कम है, और * * की * संरचना की संरचना के बारे में बहुत कुछ है। मैं लुआ, या पायथन, या सी ++ का उपयोग कर सकता था। सवाल वास्तव में है: "एप्लिकेशन और प्लगइन के बीच इंटरफ़ेस कैसा दिखना चाहिए?" – Rocketmagnet

1

यह है कि आप कुछ कार्यों का पर्दाफाश करने के लिए अपने एपीआई के माध्यम से लुआ को इतना है कि डेवलपर्स रचना और उन सुविधाओं को जोड़ सकते हैं की आवश्यकता होगी स्पष्ट है।

मैं इस अच्छे presentation पर एक एपीआई को सही ढंग से डिज़ाइन करने के तरीके और शामिल सिफारिशों से मेल खाता हूं जो मैंने पहले किया था। यह आपको अपने डिजाइन का मार्गदर्शन करने में मदद करेगा।

एक बार जब आप एक API है, मैं यूआई के साथ एक पुल बनाने के लिए command pattern lua में या C++ का उपयोग करें। अतीत में, मैंने प्रत्येक एपीआई कॉल को कमांड में encapsulated किया है और कमांड को स्क्रिप्ट के माध्यम से बुलाया जा सकता है। मुझे लुआ नहीं पता लेकिन मुझे पता है कि पाइथन आपके आदेशों के साथ उपयोग करने के लिए एक अच्छी स्क्रिप्ट भाषा है।

आपकी परियोजना के साथ शुभकामनाएँ।

0

परियोजना को खोलता है?

यह अपने उपयोगकर्ताओं की आवाज़ से प्रोग्रामिंग ज्ञान का एक निश्चित स्तर के लिए जा रहे हैं, और वे भी नई सुविधाओं को लागू करना चाहते हैं जा रहे हैं। इस तरह ग्राहक और डेवलपर के रूप में दो भूमिकाएं पूरी करें।

सार्वजनिक पठनीय स्रोत पेड़ क्यों नहीं है कि वे जांच कर सकते हैं, काम कर सकते हैं और आपको पैच सबमिट कर सकते हैं। यदि आप अपने काम को काफी अच्छे और पर्याप्त प्रासंगिक मानते हैं तो आप इसे अगली रिलीज में शामिल कर सकते हैं।

आप डेवलपर सामान्य रूप में काफी अच्छा समझना है तो आप उन्हें स्रोत पेड़ के लिए सीधी लेखन पहुँच देने के लिए और उन लोगों के साथ नई सुविधाओं की योजना बना शुरू कर सकता है।

+0

यह उम्र के लिए Sourceforge पर रहा है। इसे लिक्विडपीसीबी कहा जाता है। – Rocketmagnet

1

मैं यह इंगित करना चाहता हूं कि नए ब्लेंडर संस्करण, 2.50 के विकास में क्या हो रहा है। पिछली पायथन एपीआई सबसे अधिक कार्यक्षमताओं को लपेटने की कोशिश कर एक हाथ लिखित परत होता था। new API स्वचालित रूप से Data API के माध्यम से डेटा संरचना तक पहुंच को लपेट देगा।अधिक दस्तावेज here

0

नया स्केचअप रूबी एपीआई आप जो खोज रहे हैं उसका एक बहुत अच्छा उदाहरण है। पर कुछ रोचक अंतर्दृष्टि के लिए पुरानी एपीआई के साथ इसकी तुलना करें।

संबंधित मुद्दे