অ্যাডাম আপনাকে দেখায় কিভাবে অনশেপের জন্য ফিচারস্ক্রিপ্ট ব্যবহার করতে হয়, এবং সম্ভবত বাড়ির আশেপাশে কিভাবে মিস্টার হ্যান্ডি প্যান্ট হতে হয়। কিন্তু বেশিরভাগ ফিচারস্ক্রিপ্ট।
কুইক সাইড নোট: সলিডসম্যাকের অনেক বড় স্পনসর রয়েছে, যার মধ্যে রয়েছে পৃথিবীর সবচেয়ে বড় CAD কোম্পানি। সেটা খুবই ভালো. সেই স্পনসরদের মধ্যে একজন হলেন অনশেপ।
এই পোস্টটি অবশ্য না যে কেউ স্পন্সর করেছে। এই সব আমি।
গত রাতে একটি শান্ত রোলআউট হিসাবে, ফিচারস্ক্রিপ্ট লাইভ.
ফিচারস্ক্রিপ্ট, আমার মতে, অনশেপের সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্য। এটি খুব ভালভাবে হত্যাকারী অ্যাপ হতে পারে যা অনশেপকে মূলধারায় নিয়ে আসে। এটি অনশেপ আর্কিটেকচারের একটি মূল অংশ এবং আজ পর্যন্ত এটি প্রত্যেকের জন্য উপলব্ধ।

(ভিডিওতে উল্লিখিত ফলো-আপ টিউটোরিয়াল পাওয়া যায় এখানে.)
বৈশিষ্ট্য লেখার জন্য ফিচারস্ক্রিপ্ট একটি স্ক্রিপ্টিং ভাষা। (বিশ্রী বিরতি।) যদি মনিকার "জাভাস্ক্রিপ্ট" বা "অ্যাকশনস্ক্রিপ্ট" এর মতো শোনায় তবে এটি উপযুক্ত। এটি জাভাস্ক্রিপ্টের মতো সিনট্যাক্টিকভাবে অনুরূপ, কিন্তু এটি শেষ পর্যন্ত একটি শক্তিশালী অন্তর্নির্মিত আইডিই সহ একটি মালিকানাধীন ভাষা, যেমন অ্যাকশনস্ক্রিপ্ট ফ্ল্যাশের মধ্যে কাজ করে। এই বৈশিষ্ট্যগুলির কোডারদের কাছে পরিচিত বোধ করার সুবিধা রয়েছে, সাধারণ মানুষের কাছে পাঠযোগ্য, এবং – কারণ এটি একটি উদ্দেশ্য-নির্মিত ভাষা J জেএস বা পাইথনের মতো সাধারণ-উদ্দেশ্য ভাষার তুলনায় অনেক বেশি সংক্ষিপ্ত।
ফিচারস্ক্রিপ্টে আপনি যে বৈশিষ্ট্যগুলি লেখেন তা অন্য যেকোনো বৈশিষ্ট্যের মতোই অনশেপ ইউআই -তে উপস্থিত হয়, ঠিক এক্সট্রুড এবং রিভলভ এবং সুইপ এবং লফটের পাশাপাশি। আপনার ফিচারের UI দেখতে এবং Onshape- এর অন্যান্য ফিচারের মতোই কাজ করবে। আপনি টুলবারে আপনার বৈশিষ্ট্য যোগ করতে পারেন এবং আপনার সমস্ত প্রকল্পে সেগুলি ব্যবহার করতে পারেন। আপনি এমনকি অন্যদের সাথে আপনার বৈশিষ্ট্যগুলি ভাগ করতে পারেন যাতে তারা করতে পারে দেখুন আপনি কত চালাক তাদের সুবিধা নিন।
ফিচারস্ক্রিপ্ট দিয়ে আপনি যা করতে পারেন
ফিচারস্ক্রিপ্টে প্রথম যে কাজটি করার চেষ্টা করবেন তা হল মূলত বিদ্যমান ওনশেপ বৈশিষ্ট্যগুলির একটি ম্যাক্রো-স্টাইলের তালিকা: একটি এক্সট্রুড চালান, তারপর আরেকটি এক্সট্রুড, তারপর একটি ফিললেট, তারপর একটি বুলিয়ান, তারপর আরেকটি বুলিয়ান ইত্যাদি।
উদাহরণস্বরূপ, আমি সলিড ওয়ার্কস "কাট উইথ সারফেস" কমান্ডটি পছন্দ করি, কিন্তু অনশেপে এটি নেই। আমি ফিচারস্ক্রিপ্টে একটি স্প্লিট কমান্ড প্রয়োগ করে লিখেছি, তারপরে একটি ডিলিট বডি কমান্ড। সহজ কিছু.
আমাদের এক স্তর গভীরে নিয়ে গিয়ে, অনশেপের প্রতিটি বৈশিষ্ট্য ফিচারস্ক্রিপ্ট ব্যবহার করে লেখা হয়েছিল। এর অর্থ হল সংজ্ঞা অনুসারে, ফিচারস্ক্রিপ্ট আংশিকভাবে অনশেপ যা করতে পারে তার সবকিছু করতে সক্ষম। আপনি যদি একটি অনশেপ বৈশিষ্ট্যটি করতে দেখে থাকেন তবে আপনি এটি ফিচারস্ক্রিপ্টে করতে পারেন।
সুতরাং, উদাহরণস্বরূপ, ওনশেপের "এক্সট্রুড" কমান্ড (যা আপনি অনশেপ ইউআইতে দেখেন) ব্যবহার করার পরিবর্তে, আপনি একটি গভীর এক্সট্রুড ফাংশন ব্যবহার করতে পারেন, যা একটি এক্সট্রুডের অভ্যন্তরীণ কাজের গভীর, সমৃদ্ধ অ্যাক্সেস প্রদান করে। এই পদ্ধতিটি ব্যবহার করে আমি একটি এক্সট্রুড কমান্ড তৈরি করেছি যা একই সময়ে একাধিক প্রোফাইল এক্সট্রুড করতে পারে, প্রতিটি স্বাভাবিক তার নিজস্ব স্কেচ প্লেনে (সব একই দিকে যাওয়ার পরিবর্তে, যেমন ওনশেপের এক্সট্রুডের মতো)। এটি একটি তুচ্ছ উদাহরণ, কিন্তু আরো অনেক আছে।
তারপরে আপনি অনেকগুলি জিনিস করতে পারেন যা অনশেপ বৈশিষ্ট্যগুলি নারা বর্তমানে, খুব। উদাহরণস্বরূপ, Onshape এ কোন 3D স্প্লাইন টুল নেই, কিন্তু ফিচারস্ক্রিপ্ট আমাদের একটি স্প্লাইনে অ্যাক্সেস দেয় যা আমরা 3D পয়েন্টের একটি নির্বাচনের মাধ্যমে চালাতে পারি, মূলত আমাদের নিজস্ব 3D স্প্লাইন টুল রোলিং করে।
ফিচারস্ক্রিপ্ট নিয়ে পরীক্ষা -নিরীক্ষায়, আমি প্রধানত ছুতার তৈরির সরঞ্জামগুলিতে মনোনিবেশ করেছি: কাঠ, পাতলা পাতলা কাঠ, ড্যাডো কাট, মর্টিস এবং টেনন, জিহ্বা এবং খাঁজ, পেগ, খরগোশ এবং কোলের জয়েন্ট। আমি কাস্টম বৈশিষ্ট্য তৈরি করেছি যা একটি একক বৈশিষ্ট্যতে একাধিক যোগদান কার্যক্রম পরিচালনা করতে পারে, এবং একটি যা একটি পরিধির চারপাশে মানসম্মত বোর্ডের একটি নির্বিচারে সংখ্যা তৈরি করতে পারে।
ফিচারস্ক্রিপ্টের সৌন্দর্য হল যে জিনিসগুলি রৈখিক হতে হবে না: আমরা শর্তাধীন বিবৃতি যোগ করতে পারি যেমন "যদি দূরত্ব x 16 ইঞ্চির বেশি হয়, আরেকটি জোয়িস্ট যোগ করুন"। আপনি গতিশীলভাবে সিঁড়ি, রেলিং, পাঁজর, বস, গ্রিলস, পারফ প্যাটার্ন, অথবা এমনকি অনিয়মিত কাঠামো যেমন ভোরোনাই প্যাটার্ন এবং জেনারেটিভ আর্কিটেকচার তৈরি করতে পারেন। সম্ভাবনাগুলি সত্যিই উত্তেজনাপূর্ণ।
ফিচারস্ক্রিপ্ট দিয়ে আপনি যে কাজগুলো করতে পারবেন না
ফিচারস্ক্রিপ্ট অসাধারণ, কিন্তু অনেক কিছু আছে যা কখনোই করতে পারবে না।
প্রথমত, নামের মধ্যে "স্ক্রিপ্ট" শব্দটি থাকা সত্ত্বেও, ফিচারস্ক্রিপ্ট আসলে একটি স্ক্রিপ্টিং সিস্টেম নয়, অন্তত শব্দটির প্রচলিত ডেস্কটপ অর্থে নয়। এটি সৃষ্টির জন্য একটি স্ক্রিপ্ট বৈশিষ্ট্য, যা Onshape- এ খুব সীমিত এবং নির্দিষ্ট অর্থ আছে। বিশেষ করে, বৈশিষ্ট্য বিদ্যমান মধ্যে পার্ট স্টুডিও, এবং সেখানে উৎপন্ন জ্যামিতিকে সংজ্ঞায়িত করতে সাহায্য করুন।
উদাহরণস্বরূপ, আপনি একটি ফিচারস্ক্রিপ্ট লিখতে পারবেন না যা একটি পার্ট স্টুডিও বা একটি অ্যাসেম্বলি তৈরি করে। বৈশিষ্ট্য বিদ্যমান মধ্যে পার্ট স্টুডিও, তাই তারা অবশ্যই তাদের তৈরি করতে পারে না। আপনি অঙ্কন বা রেন্ডারিং তৈরি করতে ফিচারস্ক্রিপ্ট ব্যবহার করতে পারবেন না। পার্ট 12345R6 পরিবর্তন হলে, অথবা একটি সম্পূর্ণ প্রকল্প জুড়ে খরচ বিশ্লেষণ চালালে ফিচারস্ক্রিপ্ট ইমেলের মাধ্যমে একজন প্রশাসককে ইমেল করতে পারবে না। সংক্ষেপে, ফিচারস্ক্রিপ্ট একটি পার্ট স্টুডিওর মধ্যে জ্যামিতিক বৈশিষ্ট্য তৈরির উদ্দেশ্যে তৈরি করা হয়েছে, এবং অন্য কিছু নয়।
এখানে অনেক গোপনীয় প্রোগ্রামী জিনিস আছে যা এটি করতে পারে না। এক জিনিস, এটি নতুন জ্যামিতি প্রকার তৈরি করতে পারে না। উদাহরণস্বরূপ, আপনি একটি সাব-ডিভিশন সারফেস মডেলিং টুল তৈরি করতে, অথবা ম্যানুয়ালি ডিগ্রী -739 NURBS সারফেস তৈরি করতে ফিচারস্ক্রিপ্ট ব্যবহার করতে পারেননি। আপনি একটি ভক্সেল সিস্টেম তৈরি করতে পারবেন না বা পর্দায় উপস্থাপিত জিএল মেশের সাথে যোগাযোগ করতে পারবেন না।
যে কোনও ক্লাউড সিস্টেমের মতো, অনশেপের মধ্যে নিরাপত্তা অত্যন্ত গুরুত্বপূর্ণ। যেমন, ফিচারস্ক্রিপ্ট কোনো ধরনের বাহ্যিক ওয়েব ঠিকানায় কল করতে পারে না। সুতরাং, উদাহরণস্বরূপ, আপনি এমন একটি বৈশিষ্ট্য থাকতে পারবেন না যা আপনার সাম্প্রতিক টুইটটি ব্লক অক্ষরে প্রকাশ করে।
এছাড়াও, যেমন আপনি সম্ভবত জানেন, অনশেপ একাধিক ব্যবহারকারীকে একই নথিতে একই সাথে কাজ করার অনুমতি দেয়, তাই এটি অত্যন্ত গুরুত্বপূর্ণ যে সমস্ত বৈশিষ্ট্য ফলাফল সম্পূর্ণরূপে নির্ণয়মূলক। অন্য কথায়, একটি বৈশিষ্ট্য সবসময় প্রতিটি পুনর্নির্মাণের সাথে একই ফলাফল থাকা উচিত। এটি সুস্পষ্ট বলে মনে হতে পারে, তবে কিছু গুরুত্বপূর্ণ সীমাবদ্ধতা রয়েছে যা আপনি যখন এটি উপলব্ধি করেন।
একটি জিনিসের জন্য, ফিচারস্ক্রিপ্টের কোন তারিখ বা সময় ফাংশন নেই। যদি এটি হয়ে থাকে, তাহলে আপনি এমন বৈশিষ্ট্য তৈরি করতে পারেন যা বছরের দিন বা দিনের সময়ের উপর ভিত্তি করে ভিন্নভাবে পুনর্নির্মাণ করে। এটি একটি হাম্বগের মতো মনে হতে পারে, তবে মনে রাখবেন: আপনি কেবল এটি দেখতে নাও পারেন। আপনি যদি জাপানের একজন ব্যবহারকারীর সাথে একটি অনশেপ ডকুমেন্ট দেখছেন, তাহলে কার দিন বা সময় ব্যবহার করা উচিত? এটি একটি আভ্যন্তরীণ সমস্যা, তবে আরও গভীর সমস্যা রয়েছে। এটা বলার জন্য যথেষ্ট যে ফিচারস্ক্রিপ্টে তারিখ ফাংশন সমস্যাযুক্ত হবে, তাই কোনটি নেই।
একইভাবে, ফিচারস্ক্রিপ্ট সত্যিই এলোমেলো সংখ্যা তৈরি করতে পারে না। যদি এটি হতে পারে, প্রতিটি পুনর্নির্মাণের ফলে বন্যভাবে ভিন্ন জিনিস হতে পারে। জাপানে আপনার সহকর্মী আপনি যা দেখছেন তার থেকে সম্পূর্ণ ভিন্ন কিছু দেখবেন এবং ফাইলটির জন্য "সত্য" হবে না। রপ্তানি সম্পূর্ণরূপে অনির্দেশ্য হবে। পরিবর্তে আপনি একটি বীজ মান ব্যবহার করে উৎপন্ন psuedo- এলোমেলো সংখ্যা ব্যবহার করতে পারেন। এগুলি বেশিরভাগ ব্যবহারকারীর জন্য যথেষ্ট এলোমেলো, তবে অ-নির্ধারক হওয়ার সমস্যা ছাড়াই।
অন্যান্য সিএডি সরঞ্জাম কি এটি করতে পারে?
প্রকার, রকম.
বেশিরভাগ সিএডি সিস্টেমে টুল অপারেশনের ক্রম একসাথে স্ট্রিং করার জন্য কিছু ধরণের ম্যাক্রো সিস্টেম থাকে। বেশিরভাগেরই স্বয়ংক্রিয় কাজগুলির জন্য কিছু ধরণের স্ক্রিপ্টিং সিস্টেম রয়েছে, সাধারণত পাইথন বা S সলিড ওয়ার্কস – ভিজ্যুয়াল বেসিক (অফিস জুড়ে অ্যাডাম প্রজেক্টাইল বমি) এর মতো একটি মালিকানাহীন ভাষা ব্যবহার করে। ম্যাক্রো, লাইব্রেরির বৈশিষ্ট্য, ব্যবহারকারীর সংজ্ঞায়িত বৈশিষ্ট্য বা পাওয়ার কপি নামে পরিচিত ম্যাক্রো সংরক্ষণ বা রেকর্ড করার জন্য কারও কারও কাছে GUI ইন্টারফেস রয়েছে, আপনার টুলের উপর নির্ভর করে। ফড়িং আপনাকে একটি নোডাল সিস্টেম ব্যবহার করে যুক্তি-চালিত জ্যামিতি তৈরি করতে দেয় যা মূলত একটি ভিজ্যুয়াল প্রোগ্রামিং ভাষা। সমস্ত শালীন বিকল্প।
বেশিরভাগ সিএডি টুলগুলিতে ধনী প্লাগইনগুলি বিকাশের জন্য এক ধরণের এপিআই থাকে, সাধারণত সি ++ এ, তবে আপনি তাদের জন্য আপনার বড় বাচ্চা প্যান্ট লাগাতে চলেছেন, কারণ সেগুলি সাধারণত পেশাদার ডেভেলপারদের দ্বারা লিখিত এবং রক্ষণাবেক্ষণ করা হয়, আপনার গড় নয় ব্যবহারকারী
এই সমস্ত বিকল্পগুলি দুর্দান্ত, তবে ফিচারস্ক্রিপ্টটি কিছুটা আলাদা। যেকোনো দেয়াল-বাগানের মতো, এটি সুবিধা এবং অসুবিধা উভয়ই নিয়ে আসে। Sideর্ধ্বমুখী, ফিচারস্ক্রিপ্ট আপনাকে অনশপে প্রথম শ্রেণীর বৈশিষ্ট্যগুলি লিখতে দেয় যা পণ্যের সাথে সরবরাহ করা বৈশিষ্ট্যগুলির মতো দেখতে এবং অনুভব করে এবং এটি আশ্চর্যজনকভাবে সামান্য কোড দিয়ে করে। ডাউনসাইডগুলির মধ্যে রয়েছে (অন্য) মালিকানাধীন ভাষা শেখা, পুরো সিস্টেম-অটোমেশন নেই এবং সিস্টেমের গভীর অভ্যন্তরীণ কাজকর্মের জন্য খুব সীমিত অ্যাক্সেস।
সব মিলিয়ে বছরের পর বছর ধরে অন্যান্য অ্যাপের জন্য অনেক প্লাগইন লিখে ফিচারস্ক্রিপ্ট সত্যিই উত্তেজনাপূর্ণ। আমার জন্য, সুবিধাগুলি সীমাবদ্ধতার চেয়ে অনেক বেশি।
আরও আসবে
এটি মজার হতে যাচ্ছে। আমি আগামী সপ্তাহগুলিতে টিউটোরিয়াল প্রকাশ করব (প্রথমটি হল এখানে)। সাথে থাকুন!
আদম






