অ্যাডাম আপনাকে দেখায় কিভাবে অনশেপের জন্য ফিচারস্ক্রিপ্ট ব্যবহার করতে হয়, এবং সম্ভবত বাড়ির আশেপাশে কিভাবে মিস্টার হ্যান্ডি প্যান্ট হতে হয়। কিন্তু বেশিরভাগ ফিচারস্ক্রিপ্ট।

কুইক সাইড নোট: সলিডসম্যাকের অনেক বড় স্পনসর রয়েছে, যার মধ্যে রয়েছে পৃথিবীর সবচেয়ে বড় CAD কোম্পানি। সেটা খুবই ভালো. সেই স্পনসরদের মধ্যে একজন হলেন অনশেপ।

এই পোস্টটি অবশ্য না যে কেউ স্পন্সর করেছে। এই সব আমি।

গত রাতে একটি শান্ত রোলআউট হিসাবে, ফিচারস্ক্রিপ্ট লাইভ.

ফিচারস্ক্রিপ্ট, আমার মতে, অনশেপের সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্য। এটি খুব ভালভাবে হত্যাকারী অ্যাপ হতে পারে যা অনশেপকে মূলধারায় নিয়ে আসে। এটি অনশেপ আর্কিটেকচারের একটি মূল অংশ এবং আজ পর্যন্ত এটি প্রত্যেকের জন্য উপলব্ধ।

ইউটিউব ভিডিও

(ভিডিওতে উল্লিখিত ফলো-আপ টিউটোরিয়াল পাওয়া যায় এখানে.)

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

ফিচারস্ক্রিপ্টে আপনি যে বৈশিষ্ট্যগুলি লেখেন তা অন্য যেকোনো বৈশিষ্ট্যের মতোই অনশেপ ইউআই -তে উপস্থিত হয়, ঠিক এক্সট্রুড এবং রিভলভ এবং সুইপ এবং লফটের পাশাপাশি। আপনার ফিচারের UI দেখতে এবং Onshape- এর অন্যান্য ফিচারের মতোই কাজ করবে। আপনি টুলবারে আপনার বৈশিষ্ট্য যোগ করতে পারেন এবং আপনার সমস্ত প্রকল্পে সেগুলি ব্যবহার করতে পারেন। আপনি এমনকি অন্যদের সাথে আপনার বৈশিষ্ট্যগুলি ভাগ করতে পারেন যাতে তারা করতে পারে দেখুন আপনি কত চালাক তাদের সুবিধা নিন।

স্ক্রিন 2016 টায় Shot 05-24-8.05.35

আমি ফিচারস্ক্রিপ্টে নির্মিত প্রথম সরঞ্জামগুলির মধ্যে একটি ছিল এক-ধাপের জিহ্বা এবং খাঁজ বৈশিষ্ট্য। এটি এমনভাবে ডিজাইন করা হয়েছে যাতে একটি টি অ্যান্ড জি ফিচার আপনার পছন্দমতো অনেক বোর্ডে খাঁজ তৈরি করতে পারে এবং আপনার প্রয়োজন মতো অনেক ক্রস মেম্বারের জিহ্বা তৈরি করতে পারে। এটি স্বয়ংক্রিয়ভাবে খাঁজকে কেন্দ্র করে এবং বোর্ডের প্রস্থকে 1/3 তে প্রস্থ নির্ধারণ করে - তবে এটি অবশ্যই কাস্টমাইজ করা যায়।

ফিচারস্ক্রিপ্ট দিয়ে আপনি যা করতে পারেন

ফিচারস্ক্রিপ্টে প্রথম যে কাজটি করার চেষ্টা করবেন তা হল মূলত বিদ্যমান ওনশেপ বৈশিষ্ট্যগুলির একটি ম্যাক্রো-স্টাইলের তালিকা: একটি এক্সট্রুড চালান, তারপর আরেকটি এক্সট্রুড, তারপর একটি ফিললেট, তারপর একটি বুলিয়ান, তারপর আরেকটি বুলিয়ান ইত্যাদি।

উদাহরণস্বরূপ, আমি সলিড ওয়ার্কস "কাট উইথ সারফেস" কমান্ডটি পছন্দ করি, কিন্তু অনশেপে এটি নেই। আমি ফিচারস্ক্রিপ্টে একটি স্প্লিট কমান্ড প্রয়োগ করে লিখেছি, তারপরে একটি ডিলিট বডি কমান্ড। সহজ কিছু.

আমাদের এক স্তর গভীরে নিয়ে গিয়ে, অনশেপের প্রতিটি বৈশিষ্ট্য ফিচারস্ক্রিপ্ট ব্যবহার করে লেখা হয়েছিল। এর অর্থ হল সংজ্ঞা অনুসারে, ফিচারস্ক্রিপ্ট আংশিকভাবে অনশেপ যা করতে পারে তার সবকিছু করতে সক্ষম। আপনি যদি একটি অনশেপ বৈশিষ্ট্যটি করতে দেখে থাকেন তবে আপনি এটি ফিচারস্ক্রিপ্টে করতে পারেন।

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

স্ক্রিন 2016 টায় Shot 05-24-8.07.05

আমি এই মুহুর্তে বেশ কয়েকটি ফিচারস্ক্রিপ্ট লিখেছি, এবং আমি প্রক্রিয়াটিতে অনেক কিছু শিখেছি। একবার আপনি সাধারণ কাজগুলি স্বয়ংক্রিয় করার জন্য বৈশিষ্ট্যগুলি তৈরি করা শুরু করলে, আপনি দ্রুত খুঁজে পাবেন যে আপনি সেগুলির আরও বেশি চান। এই মুহুর্তে আমি দশটি বৈশিষ্ট্য করতে পারি যা একশত ব্যবহার করত, এবং আমি কেবল শুরু করছি।

তারপরে আপনি অনেকগুলি জিনিস করতে পারেন যা অনশেপ বৈশিষ্ট্যগুলি নারা বর্তমানে, খুব। উদাহরণস্বরূপ, Onshape এ কোন 3D স্প্লাইন টুল নেই, কিন্তু ফিচারস্ক্রিপ্ট আমাদের একটি স্প্লাইনে অ্যাক্সেস দেয় যা আমরা 3D পয়েন্টের একটি নির্বাচনের মাধ্যমে চালাতে পারি, মূলত আমাদের নিজস্ব 3D স্প্লাইন টুল রোলিং করে।

ফিচারস্ক্রিপ্ট নিয়ে পরীক্ষা -নিরীক্ষায়, আমি প্রধানত ছুতার তৈরির সরঞ্জামগুলিতে মনোনিবেশ করেছি: কাঠ, পাতলা পাতলা কাঠ, ড্যাডো কাট, মর্টিস এবং টেনন, জিহ্বা এবং খাঁজ, পেগ, খরগোশ এবং কোলের জয়েন্ট। আমি কাস্টম বৈশিষ্ট্য তৈরি করেছি যা একটি একক বৈশিষ্ট্যতে একাধিক যোগদান কার্যক্রম পরিচালনা করতে পারে, এবং একটি যা একটি পরিধির চারপাশে মানসম্মত বোর্ডের একটি নির্বিচারে সংখ্যা তৈরি করতে পারে।

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

স্ক্রিন 2016 টায় Shot 05-24-8.10.20

এই বৈশিষ্ট্যটি একটি স্কেচের পরিধির চারপাশে স্ট্যান্ডার্ড বোর্ডগুলির একটি সিরিজ চালায়। স্কেচ কোন আকৃতি বা আকার হতে পারে, এবং শেষগুলি প্রসারিত করা যেতে পারে যাতে তারা যোগদানের জন্য জায়গা তৈরি করার জন্য যথেষ্ট পরিমাণে ওভারল্যাপ করে। এই ক্ষেত্রে, একটি বৈশিষ্ট্য 17 টি বোর্ড তৈরি করছে। একটি ঘর তৈরি করার জন্য এরকম কিছু ব্যবহার করার কথা ভাবুন। আপনি একটি বৈশিষ্ট্যে পুরো মেঝের জন্য মৌলিক ফ্রেমিং তৈরি করতে পারেন, তারপর দরজা এবং জানালা, সিঁড়ির বৈশিষ্ট্য, ছাদ ইত্যাদি তৈরির জন্য খোলার বৈশিষ্ট্য থাকতে পারে।

ফিচারস্ক্রিপ্ট দিয়ে আপনি যে কাজগুলো করতে পারবেন না

ফিচারস্ক্রিপ্ট অসাধারণ, কিন্তু অনেক কিছু আছে যা কখনোই করতে পারবে না।

প্রথমত, নামের মধ্যে "স্ক্রিপ্ট" শব্দটি থাকা সত্ত্বেও, ফিচারস্ক্রিপ্ট আসলে একটি স্ক্রিপ্টিং সিস্টেম নয়, অন্তত শব্দটির প্রচলিত ডেস্কটপ অর্থে নয়। এটি সৃষ্টির জন্য একটি স্ক্রিপ্ট বৈশিষ্ট্য, যা Onshape- এ খুব সীমিত এবং নির্দিষ্ট অর্থ আছে। বিশেষ করে, বৈশিষ্ট্য বিদ্যমান মধ্যে পার্ট স্টুডিও, এবং সেখানে উৎপন্ন জ্যামিতিকে সংজ্ঞায়িত করতে সাহায্য করুন।

উদাহরণস্বরূপ, আপনি একটি ফিচারস্ক্রিপ্ট লিখতে পারবেন না যা একটি পার্ট স্টুডিও বা একটি অ্যাসেম্বলি তৈরি করে। বৈশিষ্ট্য বিদ্যমান মধ্যে পার্ট স্টুডিও, তাই তারা অবশ্যই তাদের তৈরি করতে পারে না। আপনি অঙ্কন বা রেন্ডারিং তৈরি করতে ফিচারস্ক্রিপ্ট ব্যবহার করতে পারবেন না। পার্ট 12345R6 পরিবর্তন হলে, অথবা একটি সম্পূর্ণ প্রকল্প জুড়ে খরচ বিশ্লেষণ চালালে ফিচারস্ক্রিপ্ট ইমেলের মাধ্যমে একজন প্রশাসককে ইমেল করতে পারবে না। সংক্ষেপে, ফিচারস্ক্রিপ্ট একটি পার্ট স্টুডিওর মধ্যে জ্যামিতিক বৈশিষ্ট্য তৈরির উদ্দেশ্যে তৈরি করা হয়েছে, এবং অন্য কিছু নয়।

স্ক্রিন 2016 টায় Shot 05-24-8.16.57

ধারণার প্রমাণ হিসাবে, এই সাধারণ বৈশিষ্ট্যটি পৃষ্ঠের U এবং V প্যারামিটার জুড়ে ব্যবহারকারী-নির্ধারিত বিরতিতে পয়েন্ট এবং স্পর্শকাতর প্লেন ছুঁড়ে ফেলে। পয়েন্ট সব একপাশে একত্রিত হওয়ার কারণ হল যে, শুধু মজা করার জন্য, একটি নিয়মিত গ্রিডের পরিবর্তে আমি একটি সূচকীয় ব্যবহার করছি (নীচের কোডের লাইন 28 দেখুন, যেখানে আমি গ্রিডের অবস্থানগুলি বর্গ করি)। তাত্ত্বিকভাবে আমি এই বৈশিষ্ট্যটি অন্যান্য প্যাটার্ন-ভিত্তিক বৈশিষ্ট্যগুলি চালাতে ব্যবহার করতে পারি, ধীরে ধীরে একটি ঘাসফড়ারের মতো জেনারেটিভ মডেলিং টুল সেট তৈরি করি।

স্ক্রিন 2016 টায় Shot 05-24-8.13.03

এটি উপরে দেখানো সারফেস গ্রিড ফিচারের সম্পূর্ণ কোড এবং এটি যতটা প্রয়োজন তার চেয়ে জটিল। আমি কৌতূহল হিসেবে মাত্র কয়েক মিনিটের মধ্যে এটি একসাথে হ্যাক করেছি। একটু বেশি সময় এবং শক্তি দিয়ে আমরা কি করতে পারি তা কল্পনা করুন।

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

যে কোনও ক্লাউড সিস্টেমের মতো, অনশেপের মধ্যে নিরাপত্তা অত্যন্ত গুরুত্বপূর্ণ। যেমন, ফিচারস্ক্রিপ্ট কোনো ধরনের বাহ্যিক ওয়েব ঠিকানায় কল করতে পারে না। সুতরাং, উদাহরণস্বরূপ, আপনি এমন একটি বৈশিষ্ট্য থাকতে পারবেন না যা আপনার সাম্প্রতিক টুইটটি ব্লক অক্ষরে প্রকাশ করে।

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

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

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

অন্যান্য সিএডি সরঞ্জাম কি এটি করতে পারে?

প্রকার, রকম.

বেশিরভাগ সিএডি সিস্টেমে টুল অপারেশনের ক্রম একসাথে স্ট্রিং করার জন্য কিছু ধরণের ম্যাক্রো সিস্টেম থাকে। বেশিরভাগেরই স্বয়ংক্রিয় কাজগুলির জন্য কিছু ধরণের স্ক্রিপ্টিং সিস্টেম রয়েছে, সাধারণত পাইথন বা S সলিড ওয়ার্কস – ভিজ্যুয়াল বেসিক (অফিস জুড়ে অ্যাডাম প্রজেক্টাইল বমি) এর মতো একটি মালিকানাহীন ভাষা ব্যবহার করে। ম্যাক্রো, লাইব্রেরির বৈশিষ্ট্য, ব্যবহারকারীর সংজ্ঞায়িত বৈশিষ্ট্য বা পাওয়ার কপি নামে পরিচিত ম্যাক্রো সংরক্ষণ বা রেকর্ড করার জন্য কারও কারও কাছে GUI ইন্টারফেস রয়েছে, আপনার টুলের উপর নির্ভর করে। ফড়িং আপনাকে একটি নোডাল সিস্টেম ব্যবহার করে যুক্তি-চালিত জ্যামিতি তৈরি করতে দেয় যা মূলত একটি ভিজ্যুয়াল প্রোগ্রামিং ভাষা। সমস্ত শালীন বিকল্প।

বেশিরভাগ সিএডি টুলগুলিতে ধনী প্লাগইনগুলি বিকাশের জন্য এক ধরণের এপিআই থাকে, সাধারণত সি ++ এ, তবে আপনি তাদের জন্য আপনার বড় বাচ্চা প্যান্ট লাগাতে চলেছেন, কারণ সেগুলি সাধারণত পেশাদার ডেভেলপারদের দ্বারা লিখিত এবং রক্ষণাবেক্ষণ করা হয়, আপনার গড় নয় ব্যবহারকারী

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

সব মিলিয়ে বছরের পর বছর ধরে অন্যান্য অ্যাপের জন্য অনেক প্লাগইন লিখে ফিচারস্ক্রিপ্ট সত্যিই উত্তেজনাপূর্ণ। আমার জন্য, সুবিধাগুলি সীমাবদ্ধতার চেয়ে অনেক বেশি।

আরও আসবে

এটি মজার হতে যাচ্ছে। আমি আগামী সপ্তাহগুলিতে টিউটোরিয়াল প্রকাশ করব (প্রথমটি হল এখানে)। সাথে থাকুন!

আদম

লেখক

অ্যাডাম ও'হার্ন একজন ইন্ডাস্ট্রিয়াল ডিজাইনার, ল্যাপটপ থেকে পাওয়ার টুলস, ক্লাসরুমের খেলনা থেকে বাথরুম ফিক্সচার এবং প্রো অডিও গিয়ার থেকে গিটার টিউনার পর্যন্ত পণ্য ডিজাইন করা। ২০০ 2008 সালে তিনি প্রতিষ্ঠা করেন cadjunkie.com, এবং ২০১০ সালে ইভিডি মিডিয়ার সহ-প্রতিষ্ঠাতা জোশ মিংসের সাথে SolidSmack.com, এবং দুজন এতে সহযোগিতা করে EngineerVsDesigner.com পডকাস্ট।