Cách sửa lỗi missing dxf group code 63 năm 2024

Object Making with ArchiCAD: GDL for Beginners © 2000. Written by David Nicholson-Cole. All rights reserved. Reproduction, paraphrasing or translation without express prior written permission of Graphisoft is strictly prohibited. Back cover credits: Marks Barfield Architects, creators of the British Airways London Eye, http://www.marksbarfield.com. GDL model by David Nicholson-Cole. Published by GRAPHISOFT R&D Rt., http://www.graphisoft.com First printing. Printed in Hungary. The version of GDL described in this manual is compatible with ArchiCAD 6.5 and ArchiFM 2000.ArchiCAD and ArchiFM are registered trademarks and StairMaker and GDL are trademarks of Graphisoft. All other trademarks are the property of their respective holders. ISBN 963 00 3726 2 Tạo đối tượng với ArchiCAD: GDL cho người mới bắt đầu © 2000. Viết bởi David Nicholson-Cole. Đã đăng ký Bản quyền. Nghiêm cấm sao chép, diễn giải hoặc dịch thuật mà không có sự cho phép trước bằng văn bản của Graphisoft. Các khoản tín dụng bìa sau: Marks Barfield Architects, người sáng tạo ra British Airways London Eye, http://www.marksbarfield.com. Mô hình GDL của David Nicholson-Cole. Được xuất bản bởi GRAPHISOFT R&D Rt., Http://www.graphisoft.com Lần in đầu tiên. In tại Hungary. Phiên bản GDL được mô tả trong sách hướng dẫn này tương thích với ArchiCAD 6.5 và ArchiFM 2000. ArchiCAD và ArchiFM là các nhãn hiệu đã đăng ký và StairMaker và GDL là các nhãn hiệu của Graphisoft. Tất cả các nhãn hiệu khác là tài sản của chủ sở hữu tương ứng. ISBN 963 00 3726 2

i

About this Book Về cuốn sách này Object Making with ArchiCAD is designed to help you get more enjoyment and productivity from ArchiCAD by taking you beyondthe confines of the Toolbox (the tools palette) into the realm of object making with GDL (Geometric Description Language). Tạo đối tượng với ArchiCAD được thiết kế để giúp bạn tận hưởng nhiều hơn và năng suất hơn từ ArchiCAD bằng cách đưa bạn vượt ra ngoài giới hạn của Hộp công cụ (bảng công cụ) vào lĩnh vực tạo đối tượng với GDL (Ngôn ngữ mô tả hình học). Objects – such as furniture, doors and windows, lamps, buildingcomponents – can be made using the existing tools – wall, roof, floor, mesh, etc. They can be made with native GDL, scripted fromstart to end; or they can be made with a combination of the ArchiCAD tools and scripting. ArchiCAD users have long asked fora book that will lead users from tool using to object making, and we hope that this little primer will open up new worlds for each user. The book is not just about GDL; it starts with object making using the existing tools, and by progressive stages, leads you intoGDL, but we hope you will find the transition enjoyable. Các đối tượng chẳng hạn như đồ nội thất, cửa ra vào và cửa sổ, đèn, các bộ phận của tòa nhà - có thể được tạo ra bằng các công cụ hiện có - tường, mái, sàn, lưới, v.v. Chúng có thể được tạo bằng GDL gốc, được viết kịch bản từ đầu đến cuối; hoặc chúng có thể được tạo ra bằng sự kết hợp của các công cụ ArchiCAD và tập lệnh. Người dùng ArchiCAD từ lâu đã yêu cầu một cuốn sách sẽ dẫn dắt người dùng từ cách sử dụng công cụ đến việc tạo ra đối tượng và chúng tôi hy vọng rằng cuốn sách nhỏ này sẽ mở ra thế giới mới cho mỗi người dùng. Cuốn sách không chỉ về GDL; nó bắt đầu với việc tạo đối tượng bằng cách sử dụng các công cụ hiện có và theo các giai đoạn tiến bộ, dẫn bạn đến với GDL, nhưng chúng tôi hy vọng bạn sẽ thấy quá trình chuyển đổi thú vị. Some of the examples used in the book will be available from thesupport website. Một số ví dụ được sử dụng trong sách sẽ có sẵn trên trang web hỗ trợ.

About the Author Thông tin về các Tác giả David Nicholson-Cole is an architect and teaches at Nottingham University in the UK. He has been an enthusiastic evangelist for GDL and a prodigious producer of GDL objects since discovering the power (and the pleasure) of GDL. He made his mark in the GDL world as the author of the GDL Cookbook, is a director of The-Object-Factory.com, and a founder member of the GDL Alliance. The GDL Cookbook logically follows after the book you are now reading. It is an A-Z of GDL technique, and is usable in itsown right as a GDL manual. David has also travelled around the Globe at the invitation of ArchiCAD dealers and their customers, teaching GDL. David Nicholson-Cole là một kiến trúc sư và giảng dạy tại Đại học Nottingham ở Vương quốc Anh. Anh ấy đã là một nhà truyền giáo nhiệt tình cho GDL và là một nhà sản xuất tuyệt vời của các đối tượng GDL kể từ khi khám phá ra sức mạnh (và

niềm vui) của GDL. Anh ấy đã ghi dấu ấn của mình trong thế giới GDL với tư cách là tác giả của Sách dạy nấu ăn GDL, là giám đốc của The-Object-Factory.com và là thành viên sáng lập của Liên minh GDL. Sách dạy nấu ăn GDL theo sau một cách hợp lý sau cuốn sách bạn đang đọc. Nó là một từ A-Z của kỹ thuật GDL, và có thể sử dụng theo đúng nghĩa của nó như một hướng dẫn sử dụng GDL. David cũng đã đi khắp Globe theo lời mời của các đại lý ArchiCAD và khách hàng của họ, dạy GDL.

Acknowledgements Sự nhìn nhận Object Making with ArchiCAD: GDL for Beginners was developedin concept by Graphisoft as a means of filling the gap between theGDL Cookbook and the existing reference manuals. It contains easy to follow exercises in object making, and pulls together wisdom about object making from other sources, including the reference manuals, for which all the authoring team should be thanked. Tạo đối tượng với ArchiCAD: GDL cho người mới bắt đầu được Graphisoft phát triển theo khái niệm như một phương tiện lấp đầy khoảng cách giữa GDL Cookbook và các hướng dẫn tham khảo hiện có. Nó bao gồm các bài tập dễ theo dõi trong việc tạo đối tượng và tổng hợp các kiến thức về chế tạo đối tượng từ các nguồn khác, bao gồm các tài liệu hướng dẫn tham khảo, mà tất cả nhóm tác giả nên cảm ơn.

ii

i

Chapter 1: Introduction to Object Making

Chapter 1

Introduction to Object Making Giới thiệu về Tạo đối tượng An introduction to the possibilities of object making in ArchiCAD, with or without GDL. Giới thiệu về các khả năng tạo đối tượng trong ArchiCAD, có hoặc không có GDL.

Object Making with ArchiCAD

1

Chapter 1: Introduction to Object Making

1.1 About Object Making Giới thiệu về Tạo đối tượng The real 3D world can be thought of as a vast assembly of objects.ArchiCAD’s 3D environment can be thought of as a large theatricalstage where you assemble the cast (the objects), the set (the drawing) and the script (the design idea). You bring the objects together, organize them, and then – let the play begin! Thế giới 3D thực có thể được coi là một tập hợp rộng lớn của các đối tượng. Môi trường 3D của ArchiCAD có thể được coi như một sân khấu lớn, nơi bạn tập hợp dàn diễn viên (đồ vật), bối cảnh (bản vẽ) và kịch bản (ý tưởng thiết kế). Bạn tập hợp các đồ vật lại với nhau, sắp xếp chúng và sau đó - hãy bắt đầu chơi! Most of the objects in the ArchiCAD assembly area are building elements – walls, columns, floors, roofs, meshes, etc., brought together to form buildings. These objects are easily made with thetools given to you in ArchiCAD. Hầu hết các đối tượng trong vùng lắp ráp ArchiCAD là các phần tử của tòa nhà - tường, cột, sàn, mái, lưới, v.v., được kết hợp với nhau để tạo thành các tòa nhà. Những đối tượng này được tạo dễ dàng bằng các công cụ được cung cấp cho bạn trong ArchiCAD. Whenever you need go beyond walls and floors, etc., you can usespecial objects such as furniture, windows and doors, lamps and components. In ArchiCAD manuals, these are also referred to extensively as Library Parts. These can be found in your library ormade specially. So, why should we bother to make objects? Well, we can make: Bất cứ khi nào bạn cần vượt ra ngoài tường và sàn nhà, v.v., bạn có thể sử dụng các đồ vật đặc biệt như đồ nội thất, cửa sổ và cửa ra vào, đèn và các bộ phận. Trong hướng dẫn sử dụng ArchiCAD, chúng cũng được gọi rộng rãi là Bộ phận Thư viện. Chúng có thể được tìm thấy trong thư viện của bạn hoặc được làm đặc biệt. Vậy, tại sao chúng ta phải bận tâm đến việc tạo ra các đối tượng? Chà, chúng ta có thể thực hiện: – Structural elements that are right for their purpose Các yếu tố cấu trúc phù hợp với mục đích của chúng – Details of building construction that look authentic Chi tiết xây dựng tòa nhà trông chân thực – Furniture that is smart and elegant Đồ nội thất thông minh và trang nhã – Components that conform to catalog numbers andmanufacturers’ specifications Các thành phần phù hợp với số danh mục và thông số kỹ thuật của nhà sản xuất – Lights that can transform the environment of a model Đèn có thể biến đổi môi trường của một mô hình – Windows that open and swivel, and offer a choice of styles Các cửa sổ mở và xoay, và cung cấp nhiều kiểu lựa chọn – Doors that offer choices of ironwork and glazing styles Các nhà

cung cấp các lựa chọn về phong cách đồ sắt và kính – Stairs that enable you to vary landings, risers and handrails Các bậc thang cho phép bạn thay đổi các điểm hạ cánh, bậc thang và tay vịn – Picture objects that can be placed in a model to look likepeople, trees, or even whole buildings Các đối tượng hình ảnh có thể được đặt trong một mô hình để trông giống như người, cây cối hoặc thậm chí toàn bộ tòa nhà – 2D drawing objects and tools that can enhance yourproductivity and drawing accuracy. Các đối tượng và công cụ vẽ 2D có thể nâng cao năng suất và độ chính xác của bản vẽ của bạn. In short, the pleasure and productivity of the ArchiCAD user can be greatly enhanced with objects. This book is intended to ease the ArchiCAD user safely into making objects. It is not entirely selfcontained; it needs to be read with the GDL Reference Manual andthe main ArchiCAD Reference Guide. Dip into these when you need to. If you wish to take object making further, your next stage after this primer is to work with the GDL Cookbook, which takes you progressively into more advanced GDL. Nói tóm lại, niềm vui và năng suất của người dùng ArchiCAD có thể được nâng cao đáng kể với các đối tượng. Cuốn sách này nhằm mục đích giúp người dùng ArchiCAD dễ dàng chế tạo các đối tượng một cách an toàn. Nó không hoàn toàn khép kín; nó cần được đọc với Hướng dẫn Tham khảo GDL và Hướng dẫn Tham khảo ArchiCAD chính. Hãy nhúng vào những thứ này khi bạn cần. Nếu bạn muốn tiến xa hơn trong việc tạo đối tượng, thì giai đoạn tiếp theo của bạn sau phần sơ khai này là làm việc với GDL Cookbook, cuốn sách này sẽ đưa bạn dần dần vào GDL nâng cao hơn.

2

Object Making with ArchiCAD

Chapter 1: Introduction to Object Making

Library Parts in ArchiCAD Các phần thư viện trong ArchiCAD When you build an ArchiCAD project, you can use the primary modeling tools – walls, floorslabs, columns, roofs, etc. The Toolbox also offers access library parts: furniture objects, lamps, windows, doors. In the Toolbox or the Tools menu, you may alsofind add-ons such as ArchiSITE, StairMaker, Profiler and RoofMaker. To place an object in the project you can use differentactions, such as click and stretch, click and click again to indicate direction, or you may encounter an entire dialog box containing instructions and many fields in which to enter information. Khi bạn xây dựng một dự án ArchiCAD, bạn có thể sử dụng các công cụ mô hình chính - tường, tấm sàn, cột, mái nhà, v.v. Hộp công cụ cũng cung cấp các phần thư viện truy cập: đồ vật, đèn, cửa sổ, cửa ra vào. Trong Hộp công cụ hoặc menu Công cụ, bạn cũng có thể tìm thấy các tiện ích bổ sung như ArchiSITE, StairMaker, Profiler và RoofMaker. Để đặt một đối tượng trong dự án, bạn có thể sử dụng các hành động khác nhau, chẳng hạn như nhấp và kéo dài, nhấp và nhấp lại để chỉ ra hướng hoặc bạn có thể gặp toàn bộ hộp thoại chứa hướng dẫn và nhiều trường để nhập thông tin. In your use of ArchiCAD, you will have noticed that most library parts offer many chances for variation (called parameters) such asthe number of mullions in a window or glazing styles in a door. Khi sử dụng ArchiCAD, bạn sẽ nhận thấy rằng hầu hết các phần của thư viện đều cung cấp nhiều cơ hội thay đổi (được gọi là tham số) chẳng hạn như số lượng hàng triệu trong cửa sổ hoặc kiểu lắp kính trong cửa. They may also offer different ways (in materials, pens and fills) ofrepresenting themselves in the 3D view and in 2D. Họ cũng có thể đưa ra các cách khác nhau (trong vật liệu, bút và tô màu) để thể hiện bản thân trong chế độ xem 3D và 2D. This introduction to object making will make it possible to build objects yourself; it will introduce techniques for making more thanjust 3D or 2D shaped objects – you can try to make them capable of offering variations – thus they can be parametric.Phần giới thiệu về chế tạo đối tượng này sẽ giúp bạn có thể tự chế tạo đối tượng; nó sẽ giới thiệu các kỹ thuật để tạo ra nhiều hơn các đối tượng hình dạng 3D hoặc 2D - bạn có thể cố gắng làm cho chúng có khả năng cung cấp các biến thể - do đó chúng có thể là tham số.

Libraries must be loaded Các thư viện phải được tải Whatever you make, however you make it, ArchiCAD must be able to find the object. Every time you open ArchiCAD, it reads through the library directories (folders) and makes an index of what it finds. The existing ArchiCAD Library is a folder in your installed ArchiCAD directory. ArchiCAD’s own library will be loaded (by default) but when you are running a project, or experimenting with GDL, you should make additional folders of your objects. Make sure you do not make objects or folders with the same names as ones that already exist in the libraries. When you are working with ArchiCAD, make sure that the folder you aresaving your objects to is one of your loaded

libraries. Dù bạn tạo ra bất cứ thứ gì, dù bạn tạo ra nó, ArchiCAD phải có thể tìm thấy đối tượng. Mỗi khi bạn mở ArchiCAD, nó sẽ đọc qua các thư mục thư viện (thư mục) và tạo một chỉ mục về những gì nó tìm thấy. Thư viện ArchiCAD hiện có là một thư mục trong thư mục ArchiCAD đã cài đặt của bạn. Thư viện riêng của ArchiCAD sẽ được tải (theo mặc định) nhưng khi bạn đang chạy một dự án hoặc thử nghiệm với GDL, bạn nên tạo các thư mục bổ sung cho các đối tượng của mình. Đảm bảo rằng bạn không tạo các đối tượng hoặc thư mục có cùng tên với các đối tượng hoặc thư mục đã tồn tại trong thư viện. Khi bạn đang làm việc với ArchiCAD, hãy đảm bảo rằng thư mục bạn đang lưu các đối tượng của mình vào là một trong các thư viện đã tải của bạn. You can either make a new library folder that relates to current projects, or your objects can be stored in a personal library in theArchiCAD folder. The main point is that you know where they are,and you have loaded them. Subfolders to keep furniture objects, building components, window objects, textures, etc., should be logically organized. Bạn có thể tạo một thư mục thư viện mới liên quan đến các dự án hiện tại hoặc các đối tượng của bạn có thể được lưu trữ trong một thư viện cá nhân trong thư mục ArchiCAD. Điểm chính là bạn biết chúng ở đâu và bạn đã tải chúng. Các thư mục con để giữ các đối tượng đồ nội thất, các thành phần xây dựng, đối tượng cửa sổ, kết cấu, v.v., nên được tổ chức hợp lý.

Object Making with ArchiCAD

3

Chapter 1: Introduction to Object Making

Sources of Library Parts Nguồn của các bộ phận thư viện The ArchiCAD Library Thư viện ArchiCAD It is worth going through the ArchiCAD Library included with your package before you start creating library parts on your own. Investigate what already exists. This will give you an idea of what you can use and do not need to make; and the example in there will give you ideas of what is possible. You will be able to see howparameters change and this will make you think about what qualities you might like to include in objects that you make – suchas user friendliness, clear organization and description of parameters, stretchiness, 3D authenticity and intelligible 2D symbols. Bạn nên xem qua Thư viện ArchiCAD đi kèm với gói của bạn trước khi bạn bắt đầu tự tạo các phần thư viện. Điều tra những gì đã tồn tại. Điều này sẽ cung cấp cho bạn ý tưởng về những gì bạn có thể sử dụng và không cần thực hiện; và ví dụ trong đó sẽ cung cấp cho bạn ý tưởng về những gì có thể. Bạn sẽ có thể thấy các thông số thay đổi như thế nào và điều này sẽ khiến bạn suy nghĩ về những phẩm chất bạn có thể muốn đưa vào các đối tượng mà bạn tạo ra - chẳng hạn như thân thiện với người dùng, tổ chức rõ ràng và mô tả các thông số, độ co giãn, tính xác thực 3D và các biểu tượng 2D dễ hiểu.

Complementary Libraries Thư viện bổ sung Several specialist libraries are available on CD from Graphisoft or their partners (e.g., People and More, MasterLibrary, etc.). If you explore the Internet, you will find an increasing number of websites devoted to ArchiCAD objects including The Object Factory (www.the-object-factory.com) or Objects On Line (www.objectsonline.com). The Graphisoft website gives you an up to date list of addresses of such sites. You will find that, with the free GDL Object Web Plug-in, ArchiCAD objects can be viewedin a browser, changed parametrically, and rendered, almost as if you were examining them from within ArchiCAD. Một số thư viện chuyên dụng có sẵn trên CD từ Graphisoft hoặc các đối tác của họ (ví dụ: Mọi người và hơn thế nữa, MasterLibrary, v.v.). Nếu bạn khám phá Internet, bạn sẽ tìm thấy ngày càng nhiều trang web dành cho các đối tượng ArchiCAD bao gồm The Object Factory (www.the-object-factory.com) hoặc Objects On Line (www.objectsonline.com). Trang web Graphisoft cung cấp cho bạn danh sách cập nhật địa chỉ của các trang web đó. Bạn sẽ thấy rằng, với Trình cắm Web Đối tượng GDL miễn phí, các đối tượng ArchiCAD có thể được xem trong trình duyệt, thay đổi tham số và hiển thị, gần như thể bạn đang kiểm tra chúng từ bên trong ArchiCAD.

DXF and DWG Libraries Thư viện DXF và DWG Most building component manufacturers offer disks of DXF files although most of these are 2D only. It is always worth getting these, as DXF files can be used in ArchiCAD, and you

will be able to make use of them. 2D DXF and DWG can be brought straight into the Project plan. Where you see the opportunity to make library parts out of DXF or DWG originals, you may be able to takeadvantage of the parametric power available to you in GDL. Hầu hết các nhà sản xuất thành phần xây dựng đều cung cấp các đĩa tệp DXF mặc dù hầu hết các tệp này chỉ là 2D. Luôn luôn đáng để có được những thứ này, vì các tệp DXF có thể được sử dụng trong ArchiCAD và bạn sẽ có thể sử dụng chúng. 2D DXF và DWG có thể được đưa thẳng vào kế hoạch Dự án. Khi bạn thấy có cơ hội tạo các phần thư viện từ bản gốc DXF hoặc DWG, bạn có thể tận dụng sức mạnh tham số có sẵn cho mình trong GDL. For 3D, you can also make objects with other applications from 3rd parties – Zoom, Alias Wavefront, Design Workshop, AutoCAD – save them as a DXF, then bring them into ArchiCAD as a librarypart. The DXF/DWG Conversion Guide included in your ArchiCAD package explains this procedure in more detail. Đối với 3D, bạn cũng có thể tạo các đối tượng bằng các ứng dụng khác từ bên thứ 3 - Zoom, Alias Wavefront, Design Workshop, AutoCAD - lưu chúng dưới dạng DXF, sau đó đưa chúng vào ArchiCAD như một phần thư viện. Hướng dẫn Chuyển đổi DXF / DWG được bao gồm trong gói ArchiCAD của bạn giải thích quy trình này chi tiết hơn.

4

Object Making with ArchiCAD

Chapter 1: Introduction to Object Making

When you bring the 3D DXF into ArchiCAD as a library part, youcan opt for: Khi bạn đưa 3D DXF vào ArchiCAD như một phần thư viện, bạn có thể chọn: – Don’t Process: The object does not get converted to 3D. Onlythe 2D parts will get imported. This is the default setting. Không xử lý: Đối tượng không được chuyển đổi sang 3D. Chỉ các phần 2D sẽ được nhập. Đây là thiết lập mặc định. – Binary 3D: The object comes in as 3D, but it is encapsulated into an uneditable block of machine code that is neat, tidy andstretchy (and more reliable when rendering), but leaves you no opportunity for further editing or parametric modifications.Binary 3D: Đối tượng ở dạng 3D, nhưng nó được đóng gói thành một khối mã máy không thể chỉnh sửa, gọn gàng, ngăn nắp và co giãn (và đáng tin cậy hơn khi hiển thị), nhưng bạn không có cơ hội để chỉnh sửa thêm hoặc sửa đổi tham số. – GDL Script: With this option, all the 2D and 3D data will be imported, but you will be faced with a colossal quantity of script. Nothing brought in from DXF is solid; it is a vast massof polygons and lines, and in no particular order. If you attempt to edit these you will need a lot of luck and guesswork. The most you can be sure of editing successfullyare Material names, and a simplified 2D symbol.GDL Script: Với tùy chọn này, tất cả dữ liệu 2D và 3D sẽ được nhập, nhưng bạn sẽ phải đối mặt với một lượng lớn tập lệnh. Không có gì mang lại từ DXF là chắc chắn; nó là một khối lượng lớn các đa giác và đường thẳng, và không theo một thứ tự cụ thể nào. Nếu bạn cố gắng chỉnh sửa những điều này, bạn sẽ cần rất nhiều may mắn và phỏng đoán. Phần lớn bạn có thể chắc chắn chỉnh sửa thành công là tên Vật liệu và biểu tượng 2D đơn giản. You may be disappointed with the result. You will have to spend alot of time learning the new applications. 3D objects made in otherapplications will leave you with little or no control over the materials and parametric properties. In particular, you may find that the lack of control over the number of polygons leaves you with a model that has so many polygons that your rendering timesbecome unacceptable. With such an excess of polygons, you mayfind it difficult to export your ArchiCAD model to a 3rd party renderer such as Art•lantis Render. Bạn có thể thất vọng với kết quả. Bạn sẽ phải dành nhiều thời gian để tìm hiểu các ứng dụng mới. Các đối tượng 3D được tạo trong các ứng dụng khác sẽ khiến bạn có rất ít hoặc không kiểm soát được vật liệu và thuộc tính tham số. Đặc biệt, bạn có thể thấy rằng việc thiếu kiểm soát số lượng đa giác khiến bạn có một mô hình có nhiều đa giác đến mức thời gian kết xuất của bạn trở nên không thể chấp nhận được. Với lượng đa giác dư thừa như vậy, bạn có thể gặp khó khăn khi xuất mô hình ArchiCAD của mình sang trình kết xuất của bên thứ 3 chẳng hạn như Art • lantis Render. If you take the time to learn GDL, you have the advantage over other CAD users, in that you can make a 2D or 3D library part inGDL that is parametrically variable, and save the resulting variedforms as separate DXFs.Nếu bạn dành thời gian để học GDL, bạn có lợi thế hơn những người dùng CAD

khác, đó là bạn có thể tạo một phần thư viện 2D hoặc 3D trong GDL có thể thay đổi tham số và lưu các biểu mẫu đa dạng kết quả dưới dạng các DXF riêng biệt.

Add-ons that make Objects Tiện ích bổ sung tạo Đối tượng There are a number of third party programs that can create or edit ArchiCAD library parts, for example, StairMaker and ArchiSite. Youwill also find a growing number of objectmaking Add-ons provided by Graphisoft such as RoofMaker and Profiler. Có một số chương trình của bên thứ ba có thể tạo hoặc chỉnh sửa các phần thư viện ArchiCAD, ví dụ: StairMaker và ArchiSite. Bạn cũng sẽ tìm thấy ngày càng nhiều các Tiện ích bổ sung tạo đối tượng do Graphisoft cung cấp, chẳng hạn như RoofMaker và Profiler. Objects created by these Add-ons contain GDL scripts as well as other, application-dependent data. Các đối tượng được tạo bởi các Tiện ích bổ sung này chứa các tập lệnh GDL cũng như các dữ liệu phụ thuộc vào ứng dụng.

Object Making with ArchiCAD

5

Chapter 1: Introduction to Object Making

1.2 Making your own Library Parts Tạo các phần thư viện của riêng bạn Without GDL – using ArchiCAD’s Tools Không có GDL - sử dụng Công cụ của ArchiCAD Walls, Floorslabs, Roofs and other ArchiCAD 3D tools are availablein the Toolbox as custom building blocks, regardless of their originally intended purpose. You could, for example, model a dining table easily by using walls and slabs. The legs could be tall, small slabs, or short walls. The tabletop would be a slab. If the legswere splayed as in a trestle table, you could use the Roof tool. Theresulting structure can be saved as a library part, thereby making itavailable for repeated use in other projects as well.Tường, Sàn, Mái và các công cụ ArchiCAD 3D khác có sẵn trong Hộp công cụ dưới dạng các khối xây dựng tùy chỉnh, bất kể mục đích ban đầu của chúng là gì. Ví dụ, bạn có thể tạo mô hình bàn ăn một cách dễ dàng bằng cách sử dụng các bức tường và tấm. Chân có thể cao, phiến nhỏ hoặc thành ngắn. Mặt bàn sẽ là một phiến đá. Nếu các chân được xếp ra ngoài như trong một bảng giàn, bạn có thể sử dụng công cụ Mái nhà. Cấu trúc kết quả có thể được lưu dưới dạng một phần thư viện, do đó làm cho nó có sẵn để sử dụng nhiều lần trong các dự án khác. Library parts originating from the floor plan can be saved either asGDL scripts or in binary format. GDL scripts are editable, so you can enhance the library part’s 3D appearance by modifying its script. You can do useful work on a GDL script, mainly in editing materials and pen values. Binary library parts offer lightning fast imaging speeds, but do not allow editing, and have no parametersother than ones enabling stretchiness – width, depth and height. Ifyou want to perform other modifications, you must return to the original floor plan document, modify the model, and save it again as the same or as another binary library part.Các phần thư viện có nguồn gốc từ sơ đồ tầng có thể được lưu dưới dạng tập lệnh GDL hoặc ở định dạng nhị phân. Tập lệnh GDL có thể chỉnh sửa được, vì vậy bạn có thể cải thiện giao diện 3D của phần thư viện bằng cách sửa đổi tập lệnh của nó. Bạn có thể thực hiện công việc hữu ích trên tập lệnh GDL, chủ yếu là chỉnh sửa tài liệu và giá trị bút. Các bộ phận thư viện nhị phân cung cấp tốc độ hình ảnh nhanh như chớp, nhưng không cho phép chỉnh sửa và không có thông số nào khác ngoài những thông số cho phép độ giãn - chiều rộng, chiều sâu và chiều cao. Nếu bạn muốn thực hiện các sửa đổi khác, bạn phải quay lại tài liệu sơ đồ tầng ban đầu, sửa đổi mô hình và lưu lại dưới dạng tương tự hoặc dưới dạng một phần thư viện nhị phân khác. If you save floor plan elements as a GDL script, the complexity of the resulting script will depend on the element types you have used. The Slab tool will produce a mass of CPRISMs, which are relatively easy to modify. The Wall tool will create XWALLs which are harder but not impossible to modify, but

are easier to build with in the first place. The Roof tool creates CSLABs which are manageable. Some of the most interesting possibilities are with theMesh tool, which makes commands called MASS, allowing one to create rounded surfaces.Nếu bạn lưu các phần tử sơ đồ tầng dưới dạng tập lệnh GDL, thì độ phức tạp của tập lệnh kết quả sẽ phụ thuộc vào các loại phần tử bạn đã sử dụng. Công cụ Slab sẽ tạo ra hàng loạt CPRISM, tương đối dễ sửa đổi. Công cụ Wall sẽ tạo ra các XWALL khó hơn nhưng không phải là không thể sửa đổi, nhưng dễ xây dựng hơn ngay từ đầu. Công cụ Roof tạo CSLAB có thể quản lý được. Một số khả năng thú vị nhất là với công cụ Mesh, công cụ này tạo ra các lệnh được gọi là MASS, cho phép người ta tạo ra các bề mặt tròn. Sometimes the objects you make by assembling pieces of floor slab, wall and roof are more easily built on their side, rather thanupright. Windows and doors can be built flat on the floor and ArchiCAD will convert them to be upright.Đôi khi các đồ vật bạn tạo ra bằng cách lắp ráp các mảnh sàn, tường và mái nhà dễ dàng được xây dựng theo hướng nghiêng của chúng hơn là thẳng đứng. Cửa sổ và cửa ra vào có thể được xây dựng bằng phẳng trên sàn và ArchiCAD sẽ chuyển đổi chúng thành thẳng đứng. Sometimes you will not be able to make an object all at once. You may have to make the legs first and save those, then make the superstructure, save that, then make additional parts, and save them. There are primitives such as cylinders, cones and domes in the ArchiCAD Library that you might also use as part of your object. You can then bring all those subsidiary parts together in the floor plan, and save the whole result as your final library part. Later in this book there is an exercise to demonstrate this procedure. Be warned though, that this final object will only workif all the subsidiary objects can be found in the loaded libraries.Đôi khi bạn sẽ không thể tạo một đối tượng cùng một lúc. Bạn có thể phải tạo chân trước và lưu chúng, sau đó tạo cấu trúc thượng tầng, lưu lại, sau đó tạo các bộ phận bổ sung và lưu chúng. Có những nguyên thủy như hình trụ, hình nón và mái vòm trong Thư viện ArchiCAD mà bạn cũng có thể sử dụng như một phần của đối tượng của mình. Sau đó, bạn có thể tập hợp tất cả các phần phụ đó lại với nhau trong sơ đồ tầng và lưu toàn bộ kết quả làm phần thư viện cuối cùng của bạn. Sau đó trong cuốn sách này có một bài tập để chứng minh quy trình này. Tuy nhiên, hãy cảnh báo rằng đối tượng cuối cùng này sẽ chỉ hoạt động nếu tất cả các đối tượng phụ có thể được tìm thấy trong các thư viện được tải.

6

Object Making with ArchiCAD

Chapter 1: Introduction to Object Making

Object Making with ArchiCAD

For the more experienced object maker, it is possible to combine the Toolbox with a knowledge of GDL. Because you cannot rotateobjects in the ArchiCAD floor plan (other than around the Z axis) you will quickly see the benefit of learning even a small amount ofGDL, in which you can rotate shapes however you want. Shapes are drawn out in the floor plan with the wall, roof or slab tool, saved as little chunks of GDL and then added into a larger GDL project that the writer is working on – moved and rotated into position, amended or simplified.Đối với người tạo đối tượng có kinh nghiệm hơn, có thể kết hợp Hộp công cụ với kiến thức về GDL. Bởi vì bạn không thể xoay các đối tượng trong sơ đồ tầng ArchiCAD (ngoài trục Z), bạn sẽ nhanh chóng thấy lợi ích của việc học ngay cả một lượng nhỏ GDL, trong đó bạn có thể xoay các hình dạng theo cách bạn muốn. Các hình dạng được vẽ ra trong sơ đồ mặt bằng bằng công cụ tường, mái hoặc sàn, được lưu dưới dạng các phần nhỏ của GDL và sau đó được thêm vào một dự án GDL lớn hơn mà người viết đang thực hiện - di chuyển và xoay vào vị trí, sửa đổi hoặc đơn giản hóa. Not all objects need to be 3D. It is possible to use the 2D tools of lines, text and fills to draw out standard symbols, select them, and‘save special’ as a library part. If you already have a 3D object thatyou wish to use purely as 2D, you could select it, ‘explode’ it, andsave the resulting lines as a new 2D library part. This does not damage the original 3D part.Không phải tất cả các đối tượng đều cần phải là 3D. Có thể sử dụng các công cụ 2D của đường thẳng, văn bản và điền để vẽ ra các ký hiệu tiêu chuẩn, chọn chúng và 'lưu đặc biệt' như một phần thư viện. Nếu bạn đã có một đối tượng 3D mà bạn muốn sử dụng hoàn toàn dưới dạng 2D, bạn có thể chọn nó, ‘phát nổ’ nó và lưu các dòng kết quả dưới dạng một phần thư viện 2D mới. Điều này không làm hỏng phần 3D gốc. All library parts are objects, but when you save them you can decide if they are to be an Object (a piece of furniture or a building component), a Window, or a Door. You can go on to re-open the object and resave it as a Lamp.Tất cả các phần của thư viện đều là các đối tượng, nhưng khi lưu chúng, bạn có thể quyết định xem chúng có phải là một Đối tượng (một món đồ nội thất hay một thành phần của tòa nhà), một Cửa sổ hay một Cánh cửa. Bạn có thể tiếp tục mở lại đối tượng và lưu lại dưới dạng Đèn. Assemblies built with the Toolbox do not have to be saved as library parts. They can be grouped or saved as modules and reused; but if you wish them to behave properly as objects andallow further editing, they must be saved as library parts.Các bộ lắp ráp được xây dựng bằng Hộp công cụ không cần phải được lưu dưới dạng các bộ phận của thư viện. Chúng có thể được nhóm lại hoặc lưu dưới dạng mô-đun và được sử dụng lại; nhưng nếu bạn muốn chúng hoạt động đúng như các đối tượng và cho phép chỉnh sửa thêm, chúng phải được lưu dưới dạng các phần thư viện.

Making Objects with GDL Tạo đối tượng với GDL

GDL, even a small knowledge of GDL, allows you to go far beyond the possibilities offered by the simpler methods above. If you can describe what you want, in writing, you can make objectswith GDL. That’s why it’s called Geometric Description Language.GDL, ngay cả một kiến thức nhỏ về GDL, cho phép bạn vượt xa những khả năng được cung cấp bởi các phương pháp đơn giản ở trên. Nếu bạn có thể mô tả những gì bạn muốn, bằng văn bản, bạn có thể tạo các đối tượng bằng GDL. Đó là lý do tại sao nó được gọi là Ngôn ngữ mô tả hình học. – Because GDL has many 2D and 3D commands, you can makeinteresting objects that cannot be made with the Toolbox Vì GDL có nhiều lệnh 2D và 3D, bạn có thể tạo các đối tượng thú vị mà không thể tạo được bằng Hộp công cụ – they can be shapely and elegant. Chúng có thể tạo dáng và thanh lịch. – Because you can define diameters, spacing, thickness, materials and pens, your objects can allow variations – they can be Parametric. –Vì bạn có thể xác định đường kính, khoảng cách, độ dày, vật liệu và bút,

các đối tượng của bạn có thể cho phép các biến thể –Chúng có thể là Tham số. – Because you specify elements in a GDL model by

precise dimensions, angles or parameters, the objects will be exactlywhat you want them to be – they can be accurate. Vì bạn chỉ định các phần tử trong mô hình GDL theo kích thước, góc hoặc thông số chính xác, các đối tượng sẽ chính xác như những gì bạn muốn - chúng có thể chính xác.

7

Chapter 1: Introduction to Object Making

– Because you can write IF statements, you can build rules ofbehavior into your objects, such as manufacturers’ requirements, checks on incorrect parameters, self-sizing components etc. – they can be Smart.Vì bạn chỉ định các phần tử trong mô hình GDL theo kích thước, góc hoặc thông số chính xác, các đối tượng sẽ chính xác như những gì bạn muốn - chúng có thể chính xác. – Because you can write routines that loop around and repeatcommands many times, you can economically build large orrepetitive structures that would be futile to build with the Toolbox – your objects can be Tools.Vì bạn có thể viết các quy trình lặp đi lặp lại các lệnh nhiều lần, bạn có thể xây dựng một cách kinh tế các cấu trúc lớn hoặc lặp đi lặp lại sẽ vô ích khi xây dựng với Hộp công cụ - các đối tượng của bạn có thể là Công cụ. – Because you can rotate, slide and resize elements in the script,your objects can change their shape – you can make Mechanisms.Vì bạn có thể xoay, trượt và thay đổi kích thước các phần tử trong script, các đối tượng của bạn có thể thay đổi hình dạng của chúng - bạn có thể tạo Cơ chế. As a bonus, GDL enables you to be utterly accurate – if you specify a cylinder to be 3.60 meters long, that is what it will be, not3.597623. You also have the ability to decide which parts of a model can cast shadows, which pen color parts of the object should be drawn with. You can decide what resolution of curvature should be applied to individual components of the library part. You can generate your own materials – shiny, matte, transparent or glowing – so that they will work even with an ArchiCAD in a different language from yours. GDL objects are independent of dimensional settings; you can build something in metric that will work if the user works in imperial, or vice versa.Như một phần thưởng, GDL cho phép bạn hoàn toàn chính xác - nếu bạn chỉ định một hình trụ dài 3,60 mét, đó sẽ là hình dạng của nó, không phải 3,597623. Bạn cũng có khả năng quyết định phần nào của mô hình có thể đổ bóng, phần màu bút nào của vật thể sẽ được vẽ bằng màu. Bạn có thể quyết định độ cong nên được áp dụng cho các thành phần riêng lẻ của phần thư viện. Bạn có thể tạo các tài liệu của riêng mình - sáng bóng, mờ, trong suốt hoặc phát sáng - để chúng hoạt động ngay cả với ArchiCAD bằng ngôn ngữ khác với ngôn ngữ của bạn. Các đối tượng GDL độc lập với cài đặt chiều; bạn có thể xây dựng thứ gì đó theo hệ mét sẽ hoạt động nếu người dùng làm việc bằng hệ đo lường Anh hoặc ngược lại.

How do you make an Object? Làm thế nào để bạn tạo ra một đối tượng? Look around you, examine the 3D objects that surround you, as you read this book. Observe, if you can, the essential primitive forms that compose each object. Most objects can be seen as composed of blocks, prisms, cylinders, cones, tubes or surfaces. Ask yourself what detail needs to be

included; discard detail that isnot essential or will be impossible to model. Use a level of detail that is within your abilities to model either from the Toolbox or with GDL script. Impossible 3D tasks such as surface rippling or perforation can often be solved by using textures.Nhìn xung quanh bạn, xem xét các vật thể 3D xung quanh bạn khi bạn đọc cuốn sách này. Nếu bạn có thể, hãy quan sát các dạng nguyên thủy thiết yếu tạo nên mỗi đối tượng. Hầu hết các đối tượng có thể được xem là bao gồm các khối, lăng trụ, hình trụ, hình nón, ống hoặc bề mặt. Tự hỏi bản thân xem chi tiết nào cần được đưa vào; loại bỏ chi tiết không cần thiết hoặc sẽ không thể tạo mô hình. Sử dụng mức độ chi tiết trong khả năng của bạn để lập mô hình từ Hộp công cụ hoặc bằng tập lệnh GDL. Các tác vụ 3D không thể thực hiện được như gợn sóng hoặc thủng bề mặt thường có thể được giải quyết bằng cách sử dụng các họa tiết. If you are not using GDL, view the object in terms of the familiartools of wall, slab and roof. Nếu bạn không sử dụng GDL, hãy xem đối tượng dưới dạng các công cụ quen thuộc là tường, tấm và mái. If using GDL, you can see it in terms of blocks, spheres, cylinders and cones. As your GDL skills grow, you can add prisms, sweeps, plane and meshed surfaces and tubes.Nếu sử dụng GDL, bạn có thể thấy nó ở dạng khối, hình cầu, hình trụ và hình nón. Khi kỹ năng GDL của bạn phát triển, bạn có thể thêm lăng kính, quét, mặt phẳng và các bề mặt và ống chia lưới.

Does it need to LOOK right, or BE right? Nó cần phải NHÌN đúng, hay LÀ đúng? An object that is used to furnish the interior of a house may only be required to give a luxurious impression of the interior, an authentic

8

Object Making with ArchiCAD

Chapter 1: Introduction to Object Making

‘lived in’ look. It only needs to LOOK right. This could be built with ArchiCAD’s own tools or with GDL, and the dimensions could be ‘eyeballed’ – that is, you use the grid as a guide and get the size as accurate as your eye tells you it needs to be. Một đồ vật được sử dụng để trang trí nội thất của một ngôi nhà có thể chỉ được yêu cầu để mang lại ấn tượng sang trọng cho nội thất, một vẻ ngoài đích thực. Nó chỉ cần NHÌN đúng. Điều này có thể được tạo bằng các công cụ riêng của ArchiCAD hoặc với GDL và kích thước có thể là 'nhãn cầu' - nghĩa là bạn sử dụng lưới làm hướng dẫn và nhận được kích thước chính xác như mắt bạn cho bạn biết nó cần phải như vậy. Another object may be required to be totally accurate, so that youcan derive accurately dimensioned sections and plans from it. It may be required to drive a CADCAM system (cutting tool) or a rapid prototyping machine. So you must be satisfied that it IS right.For this, you are better off working in GDL from the beginning.Một đối tượng khác có thể được yêu cầu phải hoàn toàn chính xác, để bạn có thể lấy được các mặt cắt và kế hoạch có kích thước chính xác từ nó. Nó có thể được yêu cầu lái một hệ thống CADCAM (công cụ cắt) hoặc một máy tạo mẫu nhanh. Vì vậy, bạn phải hài lòng rằng nó là đúng. Đối với điều này, bạn nên làm việc trong GDL ngay từ đầu.

The Idea of an ‘Investment object’ Ý tưởng về 'Đối tượng đầu tư'

Object Making with ArchiCAD

Ask yourself if the object you want to make is to be used more than once, if it could be useful in other projects. You might be theone person in the office making objects for other people, and therefore you need to make the object usable by others. If you make it parametric and smart, it might take you longer to make anobject that could more quickly be made with the Toolbox. But ifthe object has versatility and can be applied to many more projects, the time taken to make the object well is a good investment and your users will be grateful for the effort. Tự hỏi bản thân xem đối tượng bạn muốn làm có được sử dụng nhiều lần hay không, nếu nó có thể hữu ích trong các dự án khác. Bạn có thể là người duy nhất trong văn phòng làm đồ vật cho người khác, và do đó bạn cần làm cho đồ vật đó có thể sử dụng được cho người khác. Nếu bạn làm cho nó theo tham số và thông minh, bạn có thể mất nhiều thời gian hơn để tạo một đối tượng có thể được tạo nhanh hơn bằng Hộp công cụ. Nhưng nếu đối tượng có tính linh hoạt và có thể được áp dụng cho nhiều dự án hơn nữa, thì thời gian để làm tốt đối tượng là một khoản đầu tư tốt và người dùng của bạn sẽ biết ơn vì nỗ lực đó. Furthermore, objects made with the Toolbox are no longer editable if the original floor plan file that made them has been lost.Hơn nữa, các đối tượng được tạo bằng Hộp công cụ sẽ không thể chỉnh sửa được nữa nếu tệp sơ đồ tầng ban đầu tạo ra chúng đã bị mất. A piece of GDL that is well written can be extended and mademore powerful when your own knowledge of GDL improves orwhen a new edition of ArchiCAD offers more features. A well written object could be taken on by

someone else in the office,years after you have left, and improved to take advantage of thefeatures in a future version of ArchiCAD. Một phần GDL được viết tốt có thể được mở rộng và trở nên mạnh mẽ hơn khi kiến thức của bạn về GDL được cải thiện hoặc khi một phiên bản mới của ArchiCAD cung cấp nhiều tính năng hơn. Một đối tượng được viết tốt có thể được tiếp nhận bởi người khác trong văn phòng, nhiều năm sau khi bạn rời đi và được cải thiện để tận dụng các tính năng trong phiên bản ArchiCAD trong tương lai.

Can you learn GDL? Many objects do not need to be built with GDL – the ArchiCAD tools may be enough. Experienced ArchiCAD users who are scared of GDL get very skilful in transforming the simple 3D toolsof wall, slab and roof into most complex objects. But they will never have the pleasure of making their objects parametric. Nhiều đối tượng không cần phải được xây dựng bằng GDL các công cụ ArchiCAD có thể là đủ. Những người dùng ArchiCAD có kinh nghiệm sợ GDL rất khéo léo trong việc chuyển đổi các công cụ 3D đơn giản của tường, sàn và mái nhà thành các vật thể phức tạp nhất. Nhưng họ sẽ không bao giờ có được niềm vui khi biến các đối tượng của họ thành tham số. If you are prepared to go beyond the Toolbox, GDL is an easy scripting language compared with those available in the other CAD packages. GDL is based on BASIC, the easiest of the programming languages. Millions of people learned BASIC duringthe pioneer years of microcomputing, and GDL remains the most useful and practical descendant from BASIC. Experts who used tosay that BASIC was not powerful enough for commercial

9

Chapter 1: Introduction to Object Making

applications can be confounded by a well written piece of GDL.ArchiCAD users who make the bold step of tackling GDL are frequently surprised at how easy it is compared with what theyexpected. Users can suddenly find a practical use for all that Mathematics they learned at school. Nếu bạn chuẩn bị vượt ra khỏi Hộp công cụ, GDL là một ngôn ngữ kịch bản dễ dàng so với những ngôn ngữ có sẵn trong các gói CAD khác. GDL dựa trên BASIC, ngôn ngữ lập trình dễ nhất. Hàng triệu người đã học BASIC trong những năm tiên phong của máy tính vi mô và GDL vẫn là hậu duệ hữu ích và thiết thực nhất từ BASIC. Các chuyên gia từng nói rằng BASIC không đủ mạnh cho các ứng dụng thương mại có thể bị nhầm lẫn bởi một đoạn GDL được viết tốt. Người dùng ArchiCAD, những người thực hiện bước táo bạo trong việc giải quyết GDL thường ngạc nhiên về mức độ dễ dàng so với những gì họ mong đợi. Người dùng có thể đột nhiên tìm thấy một công dụng thiết thực cho tất cả những môn Toán mà họ đã học ở trường. Total beginners can please themselves with rapid progress up thelearning curve. They can make objects that impress their friendsand colleagues, and genuinely improve the quality of their work. Người mới bắt đầu hoàn toàn có thể tự hài lòng với sự tiến bộ nhanh chóng trong quá trình học tập. Họ có thể tạo ra những đồ vật gây ấn tượng với bạn bè và đồng nghiệp, đồng thời thực sự cải thiện chất lượng công việc của họ. Experts in GDL continue to find additional depths and techniquesin GDL, and with energy and programming experience they can extend the possibilities. As soon as they begin to feel they have reached the limit, Graphisoft’s next edition of ArchiCAD providesnew areas of exploration and power.Các chuyên gia trong GDL tiếp tục tìm ra các độ sâu và kỹ thuật bổ sung trong GDL, đồng thời với năng lượng và kinh nghiệm lập trình, họ có thể mở rộng khả năng. Ngay khi họ bắt đầu cảm thấy mình đã đạt đến giới hạn, phiên bản ArchiCAD tiếp theo của Graphisoft sẽ cung cấp các lĩnh vực khám phá và sức mạnh mới.

Object Making in the ArchiCAD Manuals Tạo đối tượng trong Sổ tay hướng dẫn sử dụng ArchiCAD Besides this book, you can read about object making in other manuals and guides: Bên cạnh cuốn sách này, bạn có thể đọc về cách chế tạo đồ vật trong các sách hướng dẫn và sách hướng dẫn khác: ArchiCAD Reference Guide: tool and library descriptions (see tableof contents and index of that volume).ArchiCAD Reference Guide: mô tả công cụ và thư viện (xem mục lục và chỉ mục của tập đó). DXF/DWG Conversion Guide: Bringing in objects from other CAD environments.Hướng dẫn chuyển đổi DXF / DWG: Đưa các đối tượng từ các môi trường CAD khác vào. Library and Environment: Illustrated listing of most of the libraryparts supplied by Graphisoft in the standard ArchiCAD

Library.Thư viện và Môi trường: Danh sách minh họa của hầu hết các phần thư viện do Graphisoft cung cấp trong Thư viện ArchiCAD tiêu chuẩn. Step by Step Tutorial: Making library parts (see table of contents ofthat volume).Hướng dẫn từng bước: Làm phần thư viện (xem mục lục của tập đó). GDL Reference Manual: Syntax of GDL commands, in depthinformation on every aspect of GDL except programming.Hướng dẫn tham khảo GDL: Cú pháp của các lệnh GDL, thông tin chuyên sâu về mọi khía cạnh của GDL ngoại trừ lập trình. The GDL Cookbook: Project-based approach to learning GDL thatteaches both GDL and the technique of programming with GDL from beginner to expert level. Sách dạy nấu ăn GDL: Cách tiếp cận dựa trên dự án để học GDL dạy cả GDL và kỹ thuật lập trình với GDL từ cấp độ sơ cấp đến chuyên gia. Project Framework: Discussion of how to get the most out of ArchiCAD in the professional office, with good explanations of organization of your libraries.Khung dự án: Thảo luận về cách tận dụng tối đa ArchiCAD trong văn phòng chuyên nghiệp, với những giải thích tốt về tổ chức thư viện của bạn. Note: The GDL Cookbook and Project Framework are not part of the ArchiCAD package and can be purchased commercially. Consult your local reseller.Lưu ý: GDL Cookbook và Project Framework không phải là một phần của gói ArchiCAD và có thể được mua thương mại. Tham khảo ý kiến người bán lại tại địa phương của bạn. You could also consider keeping a personal notebook of your progress with object making. By noting your successes, you canbuild up a personal fund of expertise.Bạn cũng có thể cân nhắc việc ghi chép sổ tay cá nhân về quá trình làm đồ vật của mình. Bằng cách ghi nhận những thành công của mình, bạn có thể xây dựng quỹ chuyên môn cá nhân.

10

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

Chapter 2

Making Objects without GDL Tạo đối tượng mà không cần GDL Before learning GDL it is wise to become fully conversant with object making using ArchiCAD own tools. Trước khi học GDL, điều khôn ngoan là trở nên thành thạo hoàn toàn với việc tạo đối tượng bằng các công cụ riêng của ArchiCAD.

Object Making with ArchiCAD

11

Chapter 2: Making Objects without GDL

Making Objects without GDL Tạo đối tượng mà không cần GDL Most ArchiCAD users become skilled at making objects using thenormal building elements in the Toolbox before they tackle GDL.So, let us make sure you are fully conversant with object making before moving on to discover the power of GDL. Hầu hết người dùng ArchiCAD trở nên thành thạo trong việc tạo các đối tượng bằng cách sử dụng các phần tử xây dựng thông thường trong Hộp công cụ trước khi họ xử lý GDL. Vì vậy, hãy để chúng tôi đảm bảo rằng bạn hoàn toàn thông thạo với việc tạo đối tượng trước khi chuyển sang khám phá sức mạnh của GDL. Make the object using the Slab, Wall and Roof tool, and select it inthe floor plan window with the cursor. Then: Tạo đối tượng bằng công cụ Slab, Wall và Roof, và chọn nó trong cửa sổ sơ đồ tầng bằng con trỏ. Sau đó: 1. If the object has been made the right way up, choose Save Special/ArchiCAD Object in the ArchiCAD File menu. Save itinto one of your loaded libraries. Nếu đối tượng đã được tạo đúng cách, hãy chọn Lưu Đối tượng Đặc biệt / ArchiCAD trong menu Tệp ArchiCAD. Lưu nó vào một trong các thư viện đã tải của bạn. 2. If the object has been made the right way up, or on its side, view in the 3D window in plan or elevation, Save the resultingview as a library part – a .GSM object. Save it into one of yourloaded libraries.Nếu đối tượng đã được tạo theo đúng hướng lên hoặc ở phía của nó, xem trong cửa sổ 3D ở mặt bằng hoặc độ cao, Lưu chế độ xem kết quả dưới dạng một phần thư viện - một đối tượng .GSM. Lưu nó vào một trong các thư viện đã tải của bạn. 3. If the object is 2D, draw it into the 2D symbol window of anew library part.Nếu đối tượng là 2D, hãy vẽ nó vào cửa sổ biểu tượng 2D của một phần thư viện mới. ArchiCAD creates a written script for the new library part, including the 3D script, a 2D script or symbol, and routines to ensure stretchiness. This process is called Autoscripting. When you have made objects, you will be able to view the scripts – highly educational! The GDL it generates could be called ‘Industrial GDL’; quite off putting and a lot more complicated than the ‘Creative GDL’ that you can attempt with the help of this book.ArchiCAD tạo một tập lệnh đã viết cho phần thư viện mới, bao gồm tập lệnh 3D, tập lệnh hoặc biểu tượng 2D và các quy trình để đảm bảo tính kéo dài. Quá trình này được gọi là Autoscripting. Khi bạn đã tạo các đối tượng, bạn sẽ có thể xem các kịch bản mang tính giáo dục cao! GDL nó tạo ra có thể được gọi là "Industrial GDL"; khá đơn giản và phức tạp hơn nhiều so với ‘Creative GDL’ mà bạn có thể thử với sự trợ giúp của cuốn sách này.

Getting Started

Before making your first object with the Toolbox, ensure that you are conversant with the use of the Magic Wand (for transforming a Fill to a Slab, or a Slab to a Roof), setting Grids, using the Coordinate Box, and with using the Settings boxes for the various tools in the Toolbox. Open a new ArchiCAD file, load a new folderto use as your library and save the new file to that folder or to somewhere convenient. Set the grid to 1’-0” or to 300 mm. Zoom in to somewhere near the Origin of the Floor Plan, so that you are viewing an area of the grid that is a little larger than the furniture you wish to build. Make sure this is the real Origin, not a temporary one.Trước khi tạo đối tượng đầu tiên của bạn với Hộp công cụ, hãy đảm bảo rằng bạn thành thạo với việc sử dụng Đũa phép thuật (để chuyển Tô màu thành Tấm hoặc Tấm thành mái), thiết lập Lưới, sử dụng Hộp toạ độ và sử dụng Hộp cài đặt cho các công cụ khác nhau trong Hộp công cụ. Mở một tệp ArchiCAD mới, tải một thư mục mới để sử dụng làm thư viện của bạn và lưu tệp mới vào thư mục đó hoặc vào một nơi nào đó thuận tiện. Đặt lưới thành 1’-0 ”hoặc 300 mm. Phóng to đến một nơi nào đó gần Nguồn gốc của Sơ đồ Tầng, để bạn đang xem một khu vực lưới lớn hơn một chút so với đồ nội thất mà bạn muốn xây dựng. Hãy chắc chắn rằng đây là Nguồn gốc thực sự, không phải là hàng tạm thời. If you have made a temporary origin somewhere else and cannot find the main origin, just click on the temporary origin and hit the delete key. The main origin will blacken.Nếu bạn đã tạo nguồn gốc tạm thời ở một nơi khác và không thể tìm thấy nguồn gốc chính, chỉ cần nhấp vào nguồn gốc tạm thời và nhấn phím xóa. Nguồn gốc chính sẽ đen lại.

12

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

Let’s Make something in 2D Try making this North point. As this is purely a 2D symbol, there isno scripting to do. You could use this for electrical symbols, kitchen or bathroom furniture, or as a complicated symbol for trees and plants.Hãy thử làm điểm Bắc này. Vì đây hoàn toàn là một biểu tượng 2D, không có tập lệnh nào để làm. Bạn có thể sử dụng biểu tượng này cho các biểu tượng điện, đồ nội thất nhà bếp hoặc phòng tắm, hoặc như một biểu tượng phức tạp cho cây cối và thực vật. Draw it in the Project Plan. You can use any of the 2D tools to do this, including Lines, Arcs, Fills, Hotspots and Text. To make it intoa library part, use method 1: Select the drawing, then use File menu>Save Special>ArchiCAD Object. Save it into a loaded library. Then bring it straight back by selecting a library part from the Toolbox and placing it in the Floor plan next to the original drawing. You will find that the most recent library part saved is thefirst object that appears when you place an object in the plan.Vẽ nó trong Kế hoạch Dự án. Bạn có thể sử dụng bất kỳ công cụ 2D nào để thực hiện việc này, bao gồm Đường, Cung, Vùng điền, Điểm phát sóng và Văn bản. Để biến nó thành một phần thư viện, hãy sử dụng phương pháp 1: Chọn bản vẽ, sau đó sử dụng menu Tệp> Lưu Đặc biệt> Đối tượng ArchiCAD. Lưu nó vào một thư viện đã tải. Sau đó, đưa nó trở lại thẳng bằng cách chọn một phần thư viện từ Hộp công cụ và đặt nó vào Sơ đồ tầng bên cạnh bản vẽ ban đầu. Bạn sẽ thấy rằng phần thư viện gần đây nhất được lưu là đối tượng đầu tiên xuất hiện khi bạn đặt một đối tượng trong kế hoạch.

Object Making with ArchiCAD

If you do not place any hotspots, you will get what is called ‘the bounding box’ around the object, as illustrated (right), and it will be stretchy. If you place hotspots, even as few as one, you get no bounding box, but the hotspot that you placed will be visible (it will no longer be stretchy). So if you place one hotspot, you should place more. If you use the Fill tool instead of the Line tool, you will find that ArchiCAD places the hotspots for you at all the significant nodes. If you want it to be stretchy, then place hotspotsat the extreme left, right, top and bottom edges (unless the Fill toolreaches these extremities).Nếu bạn không đặt bất kỳ điểm nóng nào, bạn sẽ nhận được cái được gọi là "hộp giới hạn" xung quanh đối tượng, như được minh họa (bên phải) và nó sẽ co giãn. Nếu bạn đặt các điểm phát sóng, thậm chí ít như một, bạn sẽ không nhận được hộp giới hạn, nhưng điểm phát sóng bạn đã đặt sẽ hiển thị (nó sẽ không còn co giãn nữa). Vì vậy, nếu bạn đặt một điểm phát sóng, bạn nên đặt nhiều hơn. Nếu bạn sử dụng công cụ Fill thay vì công cụ Line, bạn sẽ thấy rằng ArchiCAD đặt các điểm phát sóng cho bạn ở tất cả các nút quan trọng. Nếu bạn muốn nó co giãn, hãy đặt các điểm nóng ở các cạnh cực trái, phải, trên và dưới (trừ khi công cụ Fill chạm tới các cạnh này). You could try another method. You can use File menu>New Library Part>Object, and open the object master window, with a range of buttons allowing you to display scripts or graphical windows. You can draw in the 2D symbol window with the same

13

Chapter 2: Making Objects without GDL

2D tools as in the main ArchiCAD floor plan. Save the object into your loaded library. Use this method only when you have becomemore familiar with this palette.Bạn có thể thử một phương pháp khác. Bạn có thể sử dụng menu Tệp> Phần Thư viện Mới> Đối tượng, và mở cửa sổ chính đối tượng, với một loạt các nút cho phép bạn hiển thị các tập lệnh hoặc cửa sổ đồ họa. Bạn có thể vẽ trong cửa sổ ký hiệu 2D bằng các công cụ 2D tương tự như trong sơ đồ mặt bằng ArchiCAD chính. Lưu đối tượng vào thư viện đã tải của bạn. Chỉ sử dụng phương pháp này khi bạn đã trở nên quen thuộc hơn với bảng màu này.

Let’s Make a 3D Object – a Table Hãy tạo một vật thể 3D - một cái bàn The next object, a table, is to be made ‘the right way up’ and for this, the Slab tool is most useful. Build up a table, starting with thetable top, and add the legs and frame. For each part, use the settings dialog box to get the height of the slab correct. Rememberthat the height (altitude) of the slab is the top and the thickness is the amount of slab below the top. If you build from walls, the altitude of a wall is its base, and the height of the wall is above thebase. Save it using File>Save Special>ArchiCAD Object.Đối tượng tiếp theo, một cái bảng, phải được tạo ra "đúng cách" và đối với điều này, công cụ Slab là hữu ích nhất. Dựng bàn, bắt đầu với mặt bàn, thêm chân và khung. Đối với mỗi phần, sử dụng hộp thoại cài đặt để có được chiều cao của tấm chính xác. Hãy nhớ rằng chiều cao (độ cao) của bản sàn là trên cùng và độ dày là lượng bản sàn ở dưới mặt trên. Nếu bạn xây tường, thì độ cao của tường là chân tường và chiều cao của tường là trên chân tường. Lưu nó bằng cách sử dụng Tệp> Lưu Đặc biệt> Đối tượng ArchiCAD.

Remember also that you need to set the materials of the tabletopand legs using the Slab Settings dialog box.Ngoài ra, hãy nhớ rằng bạn cần đặt vật liệu của mặt bàn và chân bằng hộp thoại Cài đặt Bản sàn.

To make sure that each leg is consistent, make one correctly, then Edit>Drag a Copy to each corner of the table. If you use the grid, you can make the table reasonably accurate in dimensions. If you keep an eye on the Coordinate Box and type in your X and Y locations, you can make the table extremely accurate. You can make it even more accurate by setting Grid Snap to ON, and usinga small grid of say 10 mm or 1/2”.Để đảm bảo rằng mỗi chân đều nhất quán, hãy tạo một chân chính xác, sau đó Chỉnh sửa> Kéo Bản sao vào mỗi góc của bảng. Nếu bạn sử dụng lưới, bạn có thể làm cho bảng có kích thước chính xác một cách hợp lý. Nếu bạn để mắt đến Hộp tọa độ và nhập vào vị trí X và Y của mình, bạn có thể tạo bảng cực kỳ chính xác. Bạn có thể làm cho nó chính xác hơn nữa bằng cách đặt Grid Snap thành BẬT và sử dụng một lưới nhỏ 10 mm hoặc 1/2 ”.

14

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

If you use the Arc/Circle tool’s ellipse line option and then ‘magic wand’ a slab to it, you could make a more stylish and elegant table. This table will be stretchy, but if you stretch it, the section sizes will deform. Nếu bạn sử dụng tùy chọn đường elip của công cụ Arc / Circle và sau đó đặt 'cây đũa thần' một phiến vào nó, bạn có thể tạo một chiếc bàn thanh lịch và phong cách hơn. Bảng này sẽ co giãn, nhưng nếu bạn kéo căng nó, các kích thước phần sẽ biến dạng. No matter how well you make it this way, it will never permit youto make parametric alterations to height, leg spacing or timber sizes. This is where a little knowledge of GDL comes in.Cho dù bạn làm theo cách này tốt như thế nào, nó sẽ không bao giờ cho phép bạn thực hiện các thay đổi tham số về chiều cao, khoảng cách chân hoặc kích thước gỗ. Đây là lúc bạn có một chút kiến thức về GDL.

Let’s Make a 3D Window Hãy tạo cửa sổ 3D Windows have to be made flat on the floor, and are best made with the Slab tool. Again, it is best to build it over the origin, and the origin should be symmetrically at the centre of the lower sill ofthe window. The outside face of the frame must lie at zero height on the ground plane. Normally, slabs have their tops on the ground plane, so be careful to set your window frame at the right height. Draw out a rectangular slab first which defines the overall opening size. Then select this slab, and with the Slab tool selecteddraw another rectangle within the first slab. This draws a hole in the slab and effectively makes the frame hollow. Make sure that it is the right height – the depth of the frame. Set the material of this slab to frame material. You can now draw another slab into the window, set this to 10 mm (3/8”) thick and set it to “Glass” for topbottom and sides. Make sure the height of the glass is well positioned in height, within the frame. For added realism, you canadd a smaller frame to play the part of a casement, and a small slab below the XY ground plane to be a sill.Cửa sổ phải được làm phẳng trên sàn và tốt nhất nên được làm bằng công cụ Slab. Một lần nữa, tốt nhất là nên xây dựng nó trên điểm gốc và điểm gốc phải nằm đối xứng ở tâm của ngưỡng cửa dưới của cửa sổ. Mặt

ngoài của khung phải nằm ở độ cao bằng không trên mặt phẳng nền. Thông thường, các tấm có đỉnh trên mặt phẳng đất, vì vậy hãy cẩn thận đặt khung cửa sổ của bạn ở độ cao phù hợp. Trước tiên hãy vẽ ra một tấm hình chữ nhật để xác định kích thước mở tổng thể. Sau đó, chọn tấm này, và với công cụ Slab đã chọn, hãy vẽ một hình chữ nhật khác trong tấm đầu tiên. Điều này tạo ra một lỗ trên tấm và làm cho khung rỗng một cách hiệu quả. Đảm bảo rằng đó là chiều cao phù hợp - chiều sâu của khung hình. Đặt vật liệu của tấm này thành vật liệu khung. Bây giờ bạn có thể vẽ một phiến khác vào cửa sổ, đặt nó dày 10 mm (3/8 ”) và đặt nó thành“ Glass ”cho mặt trên và mặt dưới. Đảm bảo rằng chiều cao của kính được định vị tốt về chiều cao, trong khung. Để tăng thêm tính hiện thực, bạn có thể thêm một khung nhỏ hơn để đóng vai trò của một tấm ốp và một phiến đá nhỏ bên dưới mặt phẳng nền XY để làm bệ cửa.

Object Making with ArchiCAD

15

Chapter 2: Making Objects without GDL

The illustration above shows how the window should sit on theXY ground plane. Check that the frame/casement/glass relationships are working correctly.Hình minh họa ở trên cho thấy cửa sổ sẽ nằm trên mặt phẳng XY như thế nào. Kiểm tra xem các mối quan hệ khung / vỏ / kính có hoạt động chính xác không. In this case, the project origin is neatly positioned at the centre ofthe sill. This is not absolutely necessary because ArchiCAD will make adjustments when it saves the window so that the origin finishes up in the right place. But it is tidy and more disciplined toget it right at the start.Trong trường hợp này, điểm gốc của dự án được đặt ngay ngắn ở trung tâm của ngưỡng cửa. Điều này là không hoàn toàn cần thiết vì ArchiCAD sẽ thực hiện các điều chỉnh khi nó lưu cửa sổ để nguồn gốc kết thúc ở đúng vị trí. Nhưng nó là ngăn nắp và kỷ luật hơn để làm cho nó ngay từ đầu. When you are done laying slabs, select all the slab elements of the window, and view them from the direction that you would need tosee them if the finished window in the floor plan. Select Image>3DProjection Settings. You can use either shaded view or wireframe view.Khi bạn hoàn thành việc đặt các tấm sàn, hãy chọn tất cả các phần tử tấm của cửa sổ và xem chúng từ hướng

mà bạn sẽ cần xem chúng nếu cửa sổ đã hoàn thành trong sơ đồ mặt bằng. Chọn Hình ảnh> Cài đặt Chiếu 3D. Bạn có thể sử dụng chế độ xem bóng mờ hoặc chế độ xem khung dây.

16

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

The camera should be positioned at 90˚ and the view type shouldbe Parallel Views>Side view.Máy ảnh phải được đặt ở 90˚ và kiểu xem phải là Chế độ xem song song> Chế độ xem bên.

The 3D view will look like this, and if you ask for it to be Wireframe, you will be able to see the frame and glass outlines. This is as it will appear in the floor plan, when set into a wall.Chế độ xem 3D sẽ giống như thế này, và nếu bạn yêu cầu nó là Wireframe, bạn sẽ có thể nhìn thấy khung và đường viền ngoài của kính. Điều này giống như nó sẽ xuất hiện trong sơ đồ mặt bằng, khi được đặt vào một bức tường.

Save that view as a Library Part and when asked, click on the Window icon. Check the box that hides redundant lines. Make sure you save it into a loaded library. If you have not already doneso, make a folder in your personal library for windows and doors.Lưu dạng xem đó dưới dạng Phần Thư viện và khi được hỏi, hãy nhấp vào biểu tượng Cửa sổ. Chọn hộp ẩn các dòng thừa. Đảm bảo rằng bạn lưu nó vào một thư viện đã tải. Nếu bạn chưa làm như vậy, hãy tạo một thư mục trong thư viện cá nhân cho cửa sổ và cửa ra vào. If you clicked the window or door icon, ArchiCAD forces the camera view to be 90˚ Parallel>Sideview even if you got the 3D view incorrect!Nếu bạn nhấp vào biểu tượng cửa sổ hoặc cửa ra vào, ArchiCAD buộc chế độ xem camera là 90˚ Song song> Chế độ xem bên ngay cả khi bạn có chế độ xem 3D không chính xác!

Object Making with ArchiCAD

17

Chapter 2: Making Objects without GDL

Now, back in the floor plan, build a wall, and then select a window to put into it. The window you have just saved will be thefirst one that ArchiCAD offers you. Place it into the wall, making sure that the Eyeball cursor is clicked to the outside face of the wall (the face with more hotspots). You can now view the result and change its parameters – of size only.Bây giờ, quay lại sơ đồ mặt bằng, xây một bức tường, sau đó chọn một cửa sổ để đặt vào đó. Cửa sổ bạn vừa lưu sẽ là cửa sổ đầu tiên mà ArchiCAD cung cấp cho bạn. Đặt nó vào tường, đảm bảo rằng con trỏ Eyeball được nhấp vào mặt bên ngoài của bức tường (mặt có nhiều điểm nóng hơn). Bây giờ bạn có thể xem kết quả và thay đổi các thông số của nó - chỉ về kích thước. The technique of making windows is similar with door construction. But you would need GDL to change the door style,to make it open and shut and to select a choice of glazing or ironwork styles.Kỹ thuật làm cửa sổ cũng tương tự như thi công cửa đi. Nhưng bạn sẽ cần GDL thay đổi kiểu cửa, mở và đóng cửa và lựa chọn phong cách lắp kính hoặc đồ sắt.

Let’s Make a Furniture Object using Walls Hãy làm một đồ vật nội thất bằng cách sử dụng các bức tường Many objects are easier to make lying on their side, because oftheir complexity or shape. They may be far easier to build in profile than to build as a stack of objects assembled vertically.Nhiều đồ vật dễ nằm nghiêng hơn vì độ phức tạp hoặc hình dạng của chúng. Chúng có thể dễ xây dựng trong hồ sơ hơn nhiều so với xây dựng như một chồng các đối tượng được lắp ráp theo chiều dọc. You can make skillful use of the Wall tool. Walls are most useful asthey can be set to a thickness and height and can be snapped to follow lines with the Magic Wand. They are more controllable at following curves than the Slab tool. Their only trouble is their annoying tendency to join together. In the Options menu, turn offClean Wall Intersections.Bạn có thể sử dụng khéo léo công cụ Wall. Tường hữu ích nhất vì chúng có thể được thiết lập theo độ dày và chiều cao và có thể được chụp theo các đường bằng Magic Wand. Chúng có thể kiểm soát được khi đi theo các đường cong hơn so với công cụ Slab. Rắc rối duy nhất của họ là xu hướng khó chịu của họ liên kết với nhau. Trong menu Tùy chọn, tắt Giao lộ Tường sạch. This Barcelona chair illustrates the use of the Wall tool perfectly –it could be made with the Slab tool but only with the greatest difficulty.Chiếc ghế ở Barcelona này minh họa việc sử dụng công cụ Wall một cách hoàn hảo - nó có thể được làm bằng công cụ Slab nhưng chỉ với độ khó lớn nhất.

Making the Frame and Seat Làm khung và ghế First, over the Origin, within an outline box of 750x750 mm, drawthe outline of the chair frame using the Spline line tool. Then set the Wall tool to be “Stainless Steel”, 12mm thick and 50mm high.Đầu tiên, trên Origin, trong một hộp phác thảo có kích thước 750x750 mm, vẽ đường viền của khung ghế bằng công cụ Spline line. Sau đó đặt công cụ Wall là “Thép không gỉ”, dày 12mm và cao 50mm.

18

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

Snap the Wall tool to the lines with the space bar depressed; this causes the little walls to follow the lines. Select and group the walls; drag a copy of the wall group to one side. Now use the Elevate command to raise that wall group by 700 mm. Now move that wall group back until it is exactly over the first. You now havethe steel frame of the chair.Gắn công cụ Wall vào các dòng với phím cách được nhấn xuống; điều này làm cho các bức tường nhỏ theo dòng. Chọn và nhóm các bức tường; kéo một bản sao của nhóm tường sang một bên. Bây giờ sử dụng lệnh Elevate để nâng nhóm tường đó thêm 700 mm. Bây giờ di chuyển nhóm tường đó trở lại cho đến khi nó vượt qua chính xác nhóm đầu tiên. Bây giờ bạn đã có khung thép của ghế.

For the upholstery, change the wall settings to 750 mm high and 60 mm thick, and made of “Textile” (or “Leather” or “Asphalt”). Draw the walls for the upholstery yourself; the seat is flat, and theback is slightly curved using the curved Wall tool option.Đối với vải bọc, hãy thay đổi cài đặt tường thành cao 750 mm và dày 60 mm, và được làm bằng "Dệt" (hoặc "Da" hoặc "Nhựa đường"). Tự vẽ các bức tường cho vải bọc; ghế phẳng và lưng hơi cong bằng cách sử dụng tùy chọn công cụ Wall cong. When you have something like the Barcelona chair in the diagram,set the cameras exactly as you did for the Window – 90˚ positionfor camera with Parallel Side view (elevation) selected. Save the 3D view as a library part into your loaded library; this time, clickthe object icon, not the window or door. Place the chair into your project and enjoy!Khi bạn có một cái gì đó giống như chiếc ghế Barcelona trong sơ đồ, hãy đặt máy ảnh chính xác như bạn đã làm cho vị trí Cửa sổ - 90˚ cho máy ảnh với chế độ xem Mặt song song (độ cao) được chọn. Lưu chế độ xem 3D dưới dạng một phần thư viện vào thư viện đã tải của bạn; lần này, hãy nhấp vào biểu tượng đối tượng, không phải cửa sổ hoặc cửa ra vào. Đặt ghế vào dự án của bạn và tận hưởng!

Object Making with ArchiCAD

19

Chapter 2: Making Objects without GDL

Let’s Make a Roof Truss Hãy làm giàn mái nhà Try this exercise, which provides a link between the section andthe plan windows.Hãy thử bài tập này, nó cung cấp một liên kết giữa phần và các cửa sổ kế hoạch. Construct a small one-room building, and place a pitched roof over it. Make the walls higher than the roof and then use the Trimto Roof command to make the walls and roof fit each other. Inserta window and door if you like. Now using the Section/Elevation tool from your Toolbox, draw a section through the building, andview the section.Xây dựng một tòa nhà nhỏ một phòng và đặt một mái dốc lên trên nó. Làm cho các bức tường cao hơn mái nhà và sau đó sử dụng lệnh Trim to Roof để làm cho các bức tường và mái nhà khớp với nhau. Chèn cửa sổ và cửa ra vào nếu bạn muốn. Bây giờ, sử dụng công cụ Mặt cắt / Độ cao từ Hộp công cụ của bạn, vẽ một mặt cắt qua tòa nhà và xem mặt cắt.

You can make use of the Line tool to set up guidelines to make sure that your timbers lie at the right angles and have the right depths Bạn có thể sử dụng công cụ Line để thiết lập các nguyên tắc nhằm đảm bảo rằng gỗ của bạn nằm ở các góc phù hợp và có độ sâu phù hợp When you have the section in the foreground, the 3D tools go greybecause you cannot use 3D tools in the section. But you can drawwith the 2D tools, Text, Lines, Fills and Hotspots. Use the Fill tool to outline a small truss. This ensures that your future truss will fitthe roof perfectly. Select the fill and continue to draw into it, and you will be able to cut holes. Thus you form the outline of the whole truss.Khi bạn có phần ở nền trước, các công cụ 3D chuyển sang màu xám vì bạn không thể sử dụng các công cụ 3D trong phần đó. Nhưng bạn có thể vẽ bằng các công cụ 2D, Văn bản, Dòng, Điền và Điểm nóng. Sử dụng công cụ Fill để phác thảo một giàn nhỏ. Điều này đảm bảo rằng giàn trong tương lai của bạn sẽ hoàn toàn phù hợp với mái nhà. Chọn phần tô màu và tiếp tục vẽ vào đó, và bạn sẽ có thể cắt các lỗ. Vì vậy, bạn hình thành phác thảo của toàn bộ giàn.

Now select the fill, copy it, move to the floor plan and paste it. Move it so that one end corner of the truss is over the Origin – preferably one of the truss bearings. The hotspots will help you. Now you can magic-wand-click the Slab tool to follow the outlineof the Fill.Bây giờ hãy chọn tô màu, sao chép nó, di chuyển đến sơ đồ tầng và dán nó. Di chuyển nó sao cho một góc cuối của giàn nằm trên Gốc - tốt nhất là một trong các ổ đỡ của giàn. Các điểm nóng sẽ giúp bạn. Bây giờ bạn có thể nhấp vào cây đũa thần kỳ diệu vào công cụ Slab để theo đường viền của Tô màu. Make sure before you use the Slab tool that it is close to the ground – set the thickness to 40 mm, the top of the slab to 20 mm

20

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

and the material to timber. Thus the truss is nicely centered aboveand below ground zero.Đảm bảo rằng trước khi bạn sử dụng công cụ Slab là nó gần với mặt đất - đặt độ dày thành 40 mm, đỉnh của tấm là 20 mm và vật liệu là gỗ. Do đó, giàn được căn giữa một cách độc đáo trên và dưới mặt đất bằng không.

You may have a bit of trouble with the Magic Wand. Snap-click to the outline of the fill first to get the outline of the truss. Then selectthe slab (making sure it is the slab and not the fill that you have selected) and then snap-click each of the holes in the fill. This willdrill holes in the slab. You should finish with a small truss like the one above. If you get a lot of slab bits and no holes, delete the waste slabs and try again with the sequence above. Make yours more complicated if you want to, with more members, or more varied width of members.Bạn có thể gặp một chút rắc rối với Magic Wand. Nhấp nhanh vào đường viền của phần tô trước để lấy đường viền của giàn. Sau đó chọn tấm (đảm bảo rằng đó là tấm chứ không phải phần lấp đầy mà bạn đã chọn) và sau đó nhấp nhanh vào từng lỗ trong phần lấp đầy. Điều này sẽ khoan lỗ trên tấm. Bạn nên kết thúc bằng một giàn nhỏ như trên. Nếu bạn nhận được nhiều mảnh tấm và không có lỗ, hãy xóa các tấm phế thải và thử lại với trình tự ở trên. Làm cho của bạn phức tạp hơn nếu bạn muốn, với nhiều thành viên hơn hoặc chiều rộng thành viên đa dạng hơn.

Now view the truss from the same angle as you used for the window and the chair – 90˚ position for camera with parallel elevation view selected. Save the 3D view as a library part, clickthe object icon, and you have your

truss.Bây giờ xem giàn từ cùng một góc như bạn đã sử dụng cho cửa sổ và ghế - vị trí 90˚ đối với máy ảnh với chế độ xem độ cao song song được chọn. Lưu chế độ xem 3D dưới dạng một phần thư viện, nhấp vào biểu tượng đối tượng và bạn có giàn của mình. Now bring this truss into the floor plan, and space the new trusses along the building. Use the section view first, to make sure your truss aligns perfectly with the original fill pattern. The hotspots willhelp. Autoscripted objects are automatically stretchy so be careful

Object Making with ArchiCAD

21

Chapter 2: Making Objects without GDL

when handling them. You do not want to stretch them accidentally. Use Edit>Drag a Copy or Multiply to move and duplicate them, and use the Coordinate Box if you want exactspacing.Bây giờ đưa giàn này vào sơ đồ mặt bằng, và sắp xếp các giàn mới dọc theo tòa nhà. Sử dụng chế độ xem mặt cắt trước, để đảm bảo giàn của bạn phù hợp hoàn hảo với mẫu tô ban đầu. Các điểm nóng sẽ giúp ích. Các đối tượng được mô tả tự động sẽ tự động co giãn vì vậy hãy cẩn thận khi xử lý chúng. Bạn không muốn kéo dài chúng một cách vô tình. Sử dụng Chỉnh sửa> Kéo một Bản sao hoặc Nhân để di chuyển và sao chép chúng và sử dụng Hộp Tọa độ nếu bạn muốn có khoảng cách chính xác. This same method can be used to make extraordinarily complex structures – the limitation being that they will not be parametric, and they will all be rectilinear in section.Phương pháp tương tự này có thể được sử dụng để tạo ra các cấu trúc cực kỳ phức tạp - hạn chế là chúng sẽ không có tham số và tất cả chúng sẽ là tuyến tính trong phần.

Let’s Make an Object using existing Library Parts Hãy tạo một đối tượng bằng cách sử dụng các Phần thư viện hiện có You can make more complex or curvy objects using library parts that are in one of your loaded libraries. The standard ArchiCAD library contains a directory of special structures such as cones andvaults. Before you try to do this, just check which libraries are loaded (from the File menu) and if need be, load the default ArchiCAD Library.Bạn có thể tạo các đối tượng phức tạp hoặc cong hơn bằng cách sử dụng các phần thư viện nằm trong một trong các thư viện đã tải của bạn. Thư viện ArchiCAD tiêu chuẩn chứa một thư mục gồm các cấu trúc đặc biệt như hình nón và hầm. Trước khi bạn cố gắng thực hiện việc này, chỉ cần kiểm tra thư viện nào được tải (từ menu Tệp) và nếu cần, hãy tải Thư viện ArchiCAD mặc định.

22

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

This little oval cocktail table has been built entirely from the ‘Cone65’ object in the existing ArchiCAD Library. Try building something using the same or other objects in that directory. Some of these are somewhat confusing to manipulate, but the library parts settings dialog box makes it easy to play with the parametersif you display the 3D view of the object.Bàn cocktail hình bầu dục nhỏ này đã được xây dựng hoàn toàn từ đối tượng ‘Cone65’ trong Thư viện ArchiCAD hiện có. Hãy thử xây dựng một cái gì đó bằng cách sử dụng cùng một hoặc các đối tượng khác trong thư mục đó. Một số trong số này hơi khó thao tác, nhưng hộp thoại cài đặt bộ phận thư viện giúp bạn dễ dàng xem các thông số nếu bạn hiển thị chế độ xem 3D của đối tượng.

The settings box with visual icons makes it easier to select an object from the library Hộp cài đặt với các biểu tượng trực quan giúp chọn một đối tượng từ thư viện dễ dàng hơn If you perceive that an object that you wish to make is to be madeup of many components, then you can make them, one piece at atime, save them into a loaded library, then assemble the final object from the components and save that.Nếu bạn nhận thấy rằng một đối tượng mà bạn muốn tạo ra được tạo thành từ nhiều thành phần, thì bạn có thể tạo chúng, từng mảnh một, lưu chúng vào một thư viện đã tải, sau đó lắp ráp đối tượng cuối cùng từ các thành phần và lưu lại . Remember that if you ever wish to view the final object, you will always have to be able to find the constituent parts in a loaded library. If you alter one of the components, it may result in an errorwhen the final object is viewed. We have become used to seeingthe ‘Missing objects’ dialog box coming up at some time or other. This is useful; if you read it, the warnings of duplicate library objects and of missing ones require action.Hãy nhớ rằng nếu bạn muốn xem đối tượng cuối cùng, bạn sẽ luôn phải có khả năng tìm thấy các phần cấu thành trong một thư viện được tải. Nếu bạn thay đổi một trong các thành phần, nó có thể dẫn đến lỗi khi xem đối tượng cuối cùng. Chúng ta đã quen với việc nhìn thấy hộp thoại 'Thiếu đối tượng' xuất hiện vào một lúc nào đó hoặc lúc khác. Điều này là hữu ích; nếu bạn đọc nó, cảnh báo về các đối tượng thư viện

trùng lặp và các đối tượng bị thiếu yêu cầu hành động. If the composite object never needs to be edited again, then youcould view it in plan 3D (method 2) and then save as a binary. Thus all the subsidiary objects are included and you do not needto worry about missing the components.Nếu đối tượng tổng hợp không bao giờ cần được chỉnh sửa lại, thì bạn có thể xem nó trong sơ đồ 3D (phương pháp 2) và sau đó lưu dưới dạng nhị phân. Vì vậy, tất cả các đối tượng phụ được bao gồm và bạn không cần phải lo lắng về việc thiếu các thành phần.

Object Making with ArchiCAD

23

Chapter 2: Making Objects without GDL

Let’s Make an Object that we can cut to shape Hãy tạo một đối tượng mà chúng ta có thể cắt theo hình dạng The oval table is an example of nested objects (objects within thelarger object). As a further example of nested objects, we could make a major element of a building, a rounded vault, and furtherrefine it with the ability to form a crossing - a groin vault.Bảng hình bầu dục là một ví dụ về các đối tượng lồng nhau (các đối tượng bên trong đối tượng lớn hơn). Như một ví dụ khác về các đối tượng lồng nhau, chúng ta có thể tạo thành phần chính của một tòa nhà, một vòm tròn và tinh chỉnh thêm với khả năng tạo thành một đường ngang - một vòm hầm. This is something we cannot do with the Slab tool. Try using the more powerful Wall tool and draw the vault on its end. With thecircular wall variant of the Wall tool, we can draw the outline of avault. If you are more ambitious, follow this example making it asa Gothic vault (instead of a Romanesque) by having two sectionsof curved wall meeting each other.Đây là điều mà chúng tôi không thể làm với công cụ Slab. Hãy thử sử dụng công cụ Wall mạnh mẽ hơn và vẽ vòm ở phần cuối của nó. Với biến thể tường tròn của công cụ Wall, chúng ta có thể vẽ đường viền của một vòm. Nếu bạn có nhiều tham vọng hơn, hãy làm theo ví dụ này để biến nó thành một mái vòm kiểu Gothic (thay vì theo kiểu Romanesque) bằng cách có hai phần tường cong gặp nhau. Set the camera in Side view at 90˚, view it in 3D, then save as avault object. Call it “main_vault.GSM” if you like.Đặt máy ảnh ở Chế độ xem bên ở 90˚, xem ở chế độ 3D, sau đó lưu dưới dạng đối tượng vòm. Gọi nó là “main_vault.GSM” nếu bạn thích.

Picture of the basic wall in plan to form a flattened circular vault, above it, the resulting library part – stretchy in three dimensions Hình ảnh của bức tường cơ bản trong kế hoạch tạo thành một mái vòm hình tròn dẹt, phía trên nó là phần thư viện kết quả - co giãn theo ba chiều

Bring it into the floor plan and you now have a stretchy vault. Youcan change its length, width and height. So it may have been round when you first built it, but it could now be elliptical if you wish. Drag a copy of your vault object and place it near the first one. Stretch the new one but keep it the same width. We are goingto cut (or mitre) the vault at 45˚ angles to make it usable as a vault for the crossing.Mang nó vào sơ đồ mặt bằng và bây giờ bạn có một hầm co giãn. Bạn có thể thay đổi chiều dài, chiều rộng và chiều cao của nó. Vì vậy, nó có thể là hình tròn khi bạn lần đầu tiên xây dựng nó, nhưng bây giờ nó có thể là hình elip nếu bạn muốn. Kéo một bản sao của đối tượng vault của bạn và đặt nó gần đối tượng đầu tiên. Kéo dài cái mới nhưng giữ nguyên chiều rộng. Chúng tôi sẽ cắt (hoặc cắt nhỏ) hầm ở góc 45˚ để có thể sử dụng nó như một hầm cho việc băng qua.

Toolbox icon of the Marquee tool with the polygon and rectangle variants Biểu tượng hộp công cụ của công cụ Marquee với các biến thể đa giác và hình chữ nhật

24

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

Now you may have noticed that one function of the Marquee toolis to act as a cutter when you view in 3D. Everything within the marquee is displayed, and everything outside is ignored. It’s a great way to do instant 3D sections.Bây giờ bạn có thể nhận thấy rằng một chức năng của công cụ Marquee là hoạt động như một máy cắt khi bạn xem ở dạng 3D. Mọi thứ bên trong vùng hiển thị và mọi thứ bên ngoài đều bị bỏ qua. Đó là một cách tuyệt vời để thực hiện các phần 3D tức thì. The marquee can be a rectangle or it can be a polygonal shape, like a fill. First draw one 2D line along the end edge of the vault, between the end hotspots. Now when you hover the cursor overthe end of the vault, you get a little ‘tick’ mark to indicate the halfwidth of the vault. Now draw two 2D lines from this half point at45˚ angles to indicate the line you wish to cut along. By using theShift key, you can ensure that these lines are at exactly 45˚.Vạch có thể là một hình chữ nhật hoặc nó có thể là một hình đa giác, giống như một hình quả trám. Đầu tiên vẽ một đường 2D dọc theo cạnh cuối của vault, giữa các điểm phát sóng cuối. Bây giờ khi bạn di con trỏ qua phần cuối của vault, bạn sẽ nhận được một dấu "tick" nhỏ để chỉ ra một nửa chiều rộng của vault. Bây giờ, vẽ hai đường 2D từ nửa điểm này ở góc 45˚ để chỉ ra đường bạn muốn cắt dọc. Bằng cách sử dụng phím Shift, bạn có thể đảm bảo rằng các dòng này ở chính xác 45˚. Now select the Marquee tool and select the polygonal variant of the marquee. Draw along the 2D lines as accurately as possible and then encircle the rest of the vault that you intend to retain.Bây giờ chọn công cụ Marquee và chọn biến thể đa giác của marquee. Vẽ dọc theo các đường 2D càng chính xác càng tốt và sau đó bao quanh phần còn lại của hầm mà bạn định giữ lại.

Plan of the shimmering marquee over the vault object. Note that the thin 2D lines ensure that your cutter is at exactly the right angle. Use the Coordinate Box if you like to type the angle in.Kế hoạch của cuộc diễu hành lung linh trên đối tượng vault. Lưu ý rằng các đường 2D mỏng đảm bảo rằng máy cắt của bạn ở đúng góc chính xác. Sử dụng Hộp tọa độ nếu bạn muốn nhập góc vào. Now view this in 3D axonometric and you will be delighted to

findthat you have a groin vault mitred at 45˚. If the cutting effect does not occur, close the 3D window, use the Display>Rebuild command, and then try 3D again. Now use the 3D projections to set the camera position to 270˚ and the view type to Parallel>Plan. Using method 2, save this as a library part and you can call it “vault_groin.GSM”. Return to the floor plan, click on the Object tool icon, click in the plan, and your new object arrives.Bây giờ, hãy xem điều này trong 3D axonometric và bạn sẽ rất vui khi thấy rằng bạn có một cái vòm háng được mở ở 45˚. Nếu hiệu ứng cắt không xảy ra, hãy đóng cửa sổ 3D, sử dụng lệnh Display> Rebuild, rồi thử 3D lại. Bây giờ sử dụng các phép chiếu 3D để đặt vị trí máy ảnh thành 270˚ và kiểu xem thành Song song> Mặt bằng. Sử dụng phương pháp 2, lưu phần này dưới dạng một phần thư viện và bạn có thể gọi nó là “vault_groin.GSM”. Quay lại sơ đồ tầng, nhấp vào biểu tượng Công cụ đối tượng, nhấp vào sơ đồ và đối tượng mới của bạn sẽ đến.

Object Making with ArchiCAD

25

Chapter 2: Making Objects without GDL

Picture of the single vault in 3D axonometric view. Go to 3D Plan view at 270˚ to save this as a new object.Hình ảnh của hầm đơn trong chế độ xem axonometric 3D. Chuyển đến chế độ xem 3D Plan ở 270˚ để lưu nó thành một đối tượng mới. Now this object has default ‘Bounding Box’ hotspots. You can customize your hotspots. Select it, and choose File>Open Library Part. Open the 2D Symbol window, and place your own 2D hotspots at the corners, including one at the pointy apex of the groin-vault and one in the middle. This will remove the boundingbox altogether. The hotspot at the pointy corner can now be usedas a hinge around which to Edit>Multiply>Rotate another three groin-vaults.Bây giờ đối tượng này có các điểm nóng ‘Bound Box’ mặc định. Bạn có thể tùy chỉnh các điểm phát sóng của mình. Chọn nó và chọn Tệp> Mở Phần Thư viện. Mở cửa sổ Biểu tượng 2D và đặt các điểm phát sóng 2D của riêng bạn ở các góc, bao gồm một điểm ở đỉnh nhọn của bẹn-vault và một điểm ở giữa. Thao tác này sẽ xóa hoàn toàn hộp giới hạn. Giờ đây, điểm phát sóng ở góc nhọn có thể được sử dụng như một bản lề để Chỉnh sửa> Nhân> Xoay ba mỏm háng khác. Do this multiplication, and you will get a plan view like this.Thực hiện phép nhân này, và bạn sẽ nhận được dạng xem kế hoạch như thế này.

Plan View of the four vaults in plan view, alongside the original wall piece Mặt bằng Chế độ xem của bốn hầm trong chế độ xem mặt bằng, cùng với mảng tường ban đầu

Picture of the four vaults in 3D axo Hình ảnh của bốn hầm trong axo 3D

26

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

You can now add in the uncut vault objects alongside these, stretch to appropriate lengths and before you know it, you have your church roof. You can use the same technique to take a sideways ‘bite’ out of a large vault and have a pair of smaller vaultsintersecting. All this can be done without GDL, and yet, when theysee it, your friends and colleagues will be convinced you have become a GDL expert.Bây giờ bạn có thể thêm vào các đối tượng vòm chưa cắt cùng với chúng, kéo dài đến độ dài thích hợp và trước khi bạn biết điều đó, bạn đã có mái nhà thờ của mình. Bạn có thể sử dụng kỹ thuật tương tự để ‘cắn’ theo một bên ra khỏi một vòm lớn và có một cặp vòm nhỏ hơn giao nhau. Tất cả điều này có thể được thực hiện mà không cần GDL, tuy nhiên, khi họ nhìn thấy nó, bạn bè và đồng nghiệp của bạn sẽ tin rằng bạn đã trở thành một chuyên gia GDL.

Picture of the final structure, with arches and some columns Hình ảnh của cấu trúc cuối cùng, với mái vòm và một số cột

How far can we take Object Making without GDL?Chúng ta có thể tiến xa đến mức nào để tạo Đối tượng mà không có GDL? Entire buildings can be library parts. ArchiCAD is a powerful tool for building modelling, and a finished building is an elaborate combination of layers, stories, library parts and building elements.In a city, every building has different story heights and your layer titles for a single building model are going to be concerned with city blocks, street furniture and landscape. In a building, your layers are concerned with differentiating internal walls from external, furniture from construction parts.Toàn bộ tòa nhà có thể là bộ phận thư viện. ArchiCAD là một công cụ mạnh mẽ để xây dựng mô hình và một tòa nhà hoàn thiện là sự kết hợp công phu giữa các lớp, các câu chuyện, các phần thư viện và các yếu tố của tòa nhà. Trong một thành phố, mỗi tòa nhà có chiều cao tầng khác nhau và tiêu đề lớp của bạn cho một mô hình tòa nhà duy nhất sẽ được quan tâm đến các khối phố, nội thất đường phố và cảnh quan. Trong một tòa nhà, các lớp của bạn liên quan đến việc phân biệt các

bức tường bên trong với bên ngoài, đồ nội thất với các bộ phận xây dựng. If you are doing City modelling, your project model will be the entire city area or a city block, and the elements in it will be the terrain, the roads and landscaping. The buildings are best broughtin as individual library parts.Nếu bạn đang làm mô hình Thành phố, mô hình dự án của bạn sẽ là toàn bộ khu vực thành phố hoặc một khối thành phố và các yếu tố trong đó sẽ là địa hình, đường xá và cảnh quan. Các tòa nhà tốt nhất nên được đưa vào như các bộ phận thư viện riêng lẻ. If you wish to include buildings you have already made, you should open the file of the building, try to make the windows of“Ice” or of a less transparent material, hide all layers to do with internal furnishing and small details (unless they can be seen Object Making with ArchiCAD

27

Chapter 2: Making Objects without GDL

through windows) and hide the site on which it sits. Then select the entire building using the fat marquee, or view it in 3D in planview. Either way, you will get all stories showing. If you had a basement that you wished to omit, then use Image>Select Image Items and you can decide which stories to omit. Save as a LibraryPart.Nếu bạn muốn bao gồm các tòa nhà bạn đã làm, bạn nên mở tệp của tòa nhà, cố gắng tạo các cửa sổ bằng "Băng" hoặc bằng vật liệu kém trong suốt hơn, ẩn tất cả các lớp liên quan đến nội thất bên trong và các chi tiết nhỏ (trừ khi chúng có thể được nhìn thấy qua cửa sổ) và ẩn trang web mà nó nằm trên đó. Sau đó, chọn toàn bộ tòa nhà bằng cách sử dụng bảng béo hoặc xem nó ở dạng 3D trong chế độ xem mặt bằng. Dù bằng cách nào, bạn sẽ nhận được tất cả các câu chuyện hiển thị. Nếu bạn có một tầng hầm mà bạn muốn bỏ qua, hãy sử dụng Hình ảnh> Chọn Mục Hình ảnh và bạn có thể quyết định bỏ qua những câu chuyện nào. Lưu dưới dạng Phần Thư viện.

If you save it as editable, you are in danger in the long term of losing the subsidiary library parts (such as windows) that it was built from. It may also fail to render due to spurious errors. Save asbinary, and you can safely export it to your City Model; place it anywhere and at any height and it will work. You would need a copy of the original if you wish to go back and modify any part of it, as the only editing you can do to a binary is to make it stretchy. If you do not want the binary building library part to be stretchy, open the building objects, open its 2D Symbol window, and place2D hotspots where you think would be appropriate – corners, turrets, entrance canopy, ridges, etc., and then save again. That will turn off the bounding box hotspots.Nếu bạn lưu nó dưới dạng có thể chỉnh sửa, bạn sẽ gặp nguy hiểm về lâu dài khi mất các phần thư viện phụ (chẳng hạn như cửa sổ) mà nó đã được xây dựng từ đó. Nó cũng có thể không hiển thị do lỗi giả. Lưu dưới dạng tệp nhị phân và bạn có thể xuất nó một cách an toàn sang Mô hình Thành phố của mình; đặt nó ở bất cứ đâu và ở bất kỳ độ cao nào và nó sẽ hoạt động. Bạn sẽ cần một bản sao của bản gốc nếu bạn muốn quay lại và sửa đổi bất kỳ phần nào của nó, vì cách chỉnh sửa duy nhất bạn có thể làm đối với tệp nhị phân là làm cho nó co giãn. Nếu bạn không muốn phần thư

viện tòa nhà nhị phân bị co giãn, hãy mở các đối tượng của tòa nhà, mở cửa sổ Biểu tượng 2D của nó và đặt các điểm phát sóng 2D ở nơi bạn nghĩ là thích hợp - các góc, tháp pháo, mái che lối vào, đường gờ, v.v., và sau đó lưu lại. Điều đó sẽ tắt các điểm nóng của hộp giới hạn. If you only need facades, you can also build an entire facade on the ground, using the Slab, Wall and Roof tools. Then save it usingthe 3D view with the camera at 90˚ in the Parallel>Elevation view. Bring it back into your floor plan and assemble the building from facade library parts. Again, we advise that these are binary, to avoid any lost subsidiary components, and to reduce the risk of rendering errors.Nếu bạn chỉ cần mặt tiền, bạn cũng có thể xây dựng toàn bộ mặt tiền trên mặt đất, bằng cách sử dụng các công cụ Slab, Wall và Roof. Sau đó, lưu nó bằng chế độ xem 3D với máy ảnh ở 90˚ trong chế độ xem Song song> Độ cao. Đưa nó trở lại sơ đồ tầng của bạn và lắp ráp tòa nhà từ các bộ phận thư viện mặt tiền. Một lần nữa, chúng tôi khuyên rằng đây là mã nhị phân, để tránh bất kỳ thành phần phụ nào bị mất và giảm nguy cơ kết xuất lỗi.

28

Object Making with ArchiCAD

Chapter 2: Making Objects without GDL

Notes on the naming of parts Lưu ý về cách đặt tên các bộ phận All saved objects end with the letters .GSM; windows end with .WIN; doors end with .DOR; and so on. Even Mac users work withthis convention. Do not alter these suffixes either when saving orat a later time. Do not alter the names of objects in the libraries or your project file will not be able to find them next time it loads.Tất cả các đối tượng đã lưu đều kết thúc bằng các ký tự .GSM; cửa sổ kết thúc bằng .THẮNG LỢI; cửa kết thúc bằng .DOR; và như thế. Ngay cả người dùng Mac cũng làm việc với quy ước này. Không thay đổi các hậu tố này khi lưu hoặc sau đó. Không thay đổi tên của các đối tượng trong thư viện nếu không tệp dự án của bạn sẽ không thể tìm thấy chúng trong lần tải tiếp theo. The best method is to think of a good name at the time of saving. Avoid using generic names for library parts – ‘Table.GSM’ sounds like a good name for a table – but the next time you open your project file, you may find a quite different table appearing becauseone of that name already exists in a different folder. ‘Table_jdoe_02.GSM’ is unlikely to exist already in the ArchiCAD Library. Use that, and your project file will be able to find it.Phương pháp tốt nhất là nghĩ ra một cái tên hay tại thời điểm tiết kiệm. Tránh sử dụng tên chung cho các phần thư viện - 'Table.GSM' nghe có vẻ là một tên hay cho một bảng - nhưng lần sau khi bạn mở tệp dự án của mình, bạn có thể thấy một bảng khá khác xuất hiện vì một trong số đó đã tồn tại trong một bảng khác thư mục. ‘Table_jdoe_02.GSM’ không chắc đã tồn tại trong Thư viện ArchiCAD. Sử dụng nó và tệp dự án của bạn sẽ có thể tìm thấy nó.

Summary of Object Making in this chapter Tóm tắt về Tạo đối tượng trong chương này – You can make complex objects without GDL using the 3D tools or using library objects that already exist. They will be stretchy but not smart, and not parametric in anything exceptstretchiness.Bạn có thể tạo các đối tượng phức tạp mà không cần GDL bằng các công cụ 3D hoặc sử dụng các đối tượng thư viện đã tồn tại. Họ sẽ co giãn nhưng không thông minh, và không tham số trong bất cứ điều gì ngoại trừ tính co giãn. – These can be 2D or 3D and can be saved from the floor plan,or from the 3D view.Đây có thể là 2D hoặc 3D và có thể được lưu từ sơ đồ mặt bằng, hoặc từ chế độ xem 3D. – Windows and Doors can be made without using GDL.Windows và Doors có thể được thực hiện mà không cần sử dụng GDL. – The Wall tool is powerful for object making without GDL.Công cụ Wall mạnh mẽ để tạo đối tượng mà không cần GDL. – Using the Magic Wand, you can ‘steal’ shapes from ArchiCAD and turn them into Objects.Sử dụng Magic Wand, bạn có thể ‘đánh cắp’ các hình dạng từ ArchiCAD và biến chúng

thành Đối tượng. – Using the Marquee tool, you can cut library objects intosmaller shapes.Sử dụng công cụ Marquee, bạn có thể cắt các đối tượng thư viện thành các hình dạng nhỏ hơn. – You can take object making to the extreme of having entirebuildings or landscapes as objects.Bạn có thể coi việc tạo đối tượng đến mức tối đa là có toàn bộ tòa nhà hoặc cảnh quan làm đối tượng. – Take care with the naming of library parts – avoid usinggeneric names for objects.Cẩn thận với việc đặt tên cho các phần của thư viện - tránh sử dụng tên chung cho các đối tượng.

Object Making with ArchiCAD

29

Chapter 2: Making Objects without GDL

30

Object Making with ArchiCAD

Chapter 3: Starting with GDL

Chapter 3

Starting with GDL Now it’s time to gather your courage and make a start with GDL. It’s not as difficult as you expect! Bây giờ đã đến lúc thu thập can đảm của bạn và bắt đầu với GDL. Nó không khó như bạn mong đợi!

Object Making with ArchiCAD

31

Chapter 3: Starting with GDL

3.1 Starting with GDL Chapter 1 discussed reasons why you might want to build with GDL. Now it is time to give it a try. Do not be nervous. You will find it easy if you take it in stages.Chương 1 thảo luận lý do tại sao bạn có thể muốn xây dựng với GDL. Bây giờ là lúc để thử. Đừng lo lắng. Bạn sẽ thấy dễ dàng nếu thực hiện theo từng giai đoạn.

Open the Object Making Master window Mở cửa sổ Object Making Master From ArchiCAD, select from the File menu>New Library Part> Object. You will get a Master window like this, with a vertical bar of buttons down the left-hand side. The wide buttons allow scriptsto be displayed in the large white window. The small white buttons allow the scripts to be displayed in floating palettes.Từ ArchiCAD, chọn từ menu Tệp> Phần Thư viện Mới> Đối tượng. Bạn sẽ nhận được một cửa sổ Master như thế này, với một thanh dọc gồm các nút ở phía bên tay trái. Các nút rộng cho phép các tập lệnh được hiển thị trong cửa sổ lớn màu trắng. Các nút nhỏ màu trắng cho phép các tập lệnh được hiển thị trong các bảng màu nổi.

When you have the Parameters button pressed, you get a ‘New’ button at the top – enabling you to create new parameters for length, materials, pen colors and more.Khi bạn nhấn nút Tham số, bạn sẽ thấy nút ‘Mới’ ở trên cùng - cho phép bạn tạo các thông số mới cho chiều dài, vật liệu, màu bút và hơn thế nữa. Before starting with some easy exercises, let’s look at the

functionof the scripts and windows available to you. Bear in mind that forthe beginner in GDL, the only scripts that you really need are the 3D and the 2D scripts.Trước khi bắt đầu với một số bài tập dễ dàng, hãy xem chức năng của các tập lệnh và cửa sổ có sẵn cho bạn. Hãy nhớ rằng đối với người mới bắt đầu trong GDL, các tập lệnh duy nhất mà bạn thực sự cần là tập lệnh 3D và 2D. The Parameter table is where you can build the Object Settings dialog box that the user will see when they use your object. This

32

Object Making with ArchiCAD

Chapter 3: Starting with GDL

allows the user to enter materials, diameters, angles, pen colors and much much more. By hitting the New button, and filling in thesmall details, you can create parameters.Bảng Tham số là nơi bạn có thể tạo hộp thoại Cài đặt Đối tượng mà người dùng sẽ thấy khi họ sử dụng đối tượng của bạn. Điều này cho phép người dùng nhập vật liệu, đường kính, góc, màu bút và nhiều hơn nữa. Bằng cách nhấn nút Mới và điền vào các chi tiết nhỏ, bạn có thể tạo các tham số. The Master Script can be used for housekeeping tasks such aschecking user errors and defining materials. This is read by theother scripts. If you type in a common piece of information likethe radius of a tube or the width of a chair seat, it becomes available to all the other scripts. It saves you from repeatedly typing the same information into each script.Master Script có thể được sử dụng cho các công việc quản lý như kiểm tra lỗi của người dùng và xác định vật liệu. Điều này được đọc bởi các tập lệnh khác. Nếu bạn nhập một phần thông tin phổ biến như bán kính của ống hoặc chiều rộng của ghế ngồi, thông tin đó sẽ có sẵn cho tất cả các tập lệnh khác. Nó giúp bạn không phải gõ liên tục cùng một thông tin vào mỗi tập lệnh. The 2D Symbol is a window into which you can paste a 2D image, or draw using 2D tools, but it will only be displayed if thereis no 2D script. With GDL knowledge, you are better off trying to write a 2D script.Biểu tượng 2D là một cửa sổ mà bạn có thể dán hình ảnh 2D hoặc vẽ bằng công cụ 2D, nhưng nó sẽ chỉ được hiển thị nếu không có tập lệnh 2D. Với kiến thức GDL, bạn nên cố gắng viết một kịch bản 2D. The 2D Script can be used simply to tell GDL to draw in 2D whatever it finds in the 3D script (PROJECT2). It can be used to force the 2D Symbol window to be the 2D symbol (FRAGMENT2).Its most creative use is for you to write a parametrically organizedscript to draw what the object will look like in 2D. By designatingHotspots, the 2D script can also make the object stretchy and easyto pick up. If the 2D script is left blank, the object will display whatever is drawn into the 2D Symbol window. If you leave both blank, the object will not show in the project.Tập lệnh 2D có thể được sử dụng đơn giản để yêu cầu GDL vẽ ở dạng 2D bất cứ thứ gì nó tìm thấy trong tập lệnh 3D (PROJECT2). Nó có thể được sử dụng để buộc cửa sổ Biểu tượng 2D là biểu tượng 2D (FRAGMENT2). Cách sử dụng sáng tạo nhất của nó là để bạn viết một kịch bản được tổ chức theo tham số để vẽ đối tượng sẽ trông như thế nào trong 2D. Bằng cách chỉ định Điểm phát sóng, tập lệnh 2D cũng có thể làm cho đối tượng co giãn và dễ lấy. Nếu để trống script 2D, đối tượng sẽ hiển thị bất cứ thứ gì được vẽ vào cửa sổ 2D Symbol. Nếu bạn để trống cả hai, đối tượng sẽ không hiển thị trong dự án. The 2D Full View shows what is generated by the 2D Script. This will not normally show what is in the 2D Symbol window.Chế độ xem Toàn màn hình 2D hiển thị những gì được tạo bởi Tập lệnh 2D. Điều này thường sẽ không hiển thị những gì có trong cửa sổ Biểu tượng 2D. The 3D Script is the primary means of building parametric 3D objects. If the object is simple, almost all the work can done in the3D Script. This is the engine room of most library

parts.Tập lệnh 3D là phương tiện chính để xây dựng các đối tượng 3D tham số. Nếu đối tượng là đơn giản, hầu như tất cả công việc có thể được thực hiện trong 3D Script. Đây là phòng máy của hầu hết các bộ phận thư viện. The 3D View is generated by the 3D Script – not to be confused with the 3D window of the main project.Chế độ xem 3D được tạo bởi 3D Script - không nên nhầm lẫn với cửa sổ 3D của dự án chính. The Properties Script enables you to write Components andDescriptor commands if the object is to be in a schedule.Tập lệnh Thuộc tính cho phép bạn viết các lệnh Thành phần và Bộ mô tả nếu đối tượng nằm trong một lịch trình. The Parameter Script is the place where you can build popdown menu selections to be used in the main parameters box.Tập lệnh Tham số là nơi bạn có thể xây dựng các lựa chọn menu sổ xuống để sử dụng trong hộp tham số chính. The Comment is a small text field in which you can write a set ofinstructions to your user on how to use the object, or record a log of the development of the object.Nhận xét là một trường văn bản nhỏ trong đó bạn có thể viết một tập hợp các hướng dẫn cho người dùng của mình về cách sử dụng đối tượng hoặc ghi lại nhật ký về sự phát triển của đối tượng. The Preview Picture is a window containing a small bitmap image of a view of the object. It tells the user what the object will look like in its setting, and could come from Art•lantis Render or an ArchiCAD photorendering. This becomes the icon of the objectin the settings dialog box.Hình ảnh xem trước là một cửa sổ chứa một hình ảnh bitmap nhỏ của chế độ xem của đối tượng. Nó cho người dùng biết đối tượng sẽ trông như thế nào trong cài đặt của nó, và có thể đến từ Art • lantis Render hoặc một bản dựng ảnh ArchiCAD. Điều này sẽ trở thành biểu tượng của đối tượng trong hộp thoại cài đặt. Object Making with ArchiCAD

33

Chapter 3: Starting with GDL

The User Interface Script enables you to build a custom dialog box with your own text fields and images, with buttons and inputfields for the user to enter parameters. It is great for complex objects where the user might need more explanation of the purpose of parameters.Tập lệnh Giao diện Người dùng cho phép bạn tạo một hộp thoại tùy chỉnh với các trường văn bản và hình ảnh của riêng bạn, với các nút và trường đầu vào để người dùng nhập các tham số. Nó rất tốt cho các đối tượng phức tạp mà người dùng có thể cần giải thích thêm về mục đích của các tham số. Relax! When you start GDL, you only need the 2D and 3D scripts. Thư giãn! Khi bạn bắt đầu GDL, bạn chỉ cần các tập lệnh 2D và 3D.

3D Entities Thực thể 3D The easiest 3D elements to build with are Block, Cylinder, Sphereand Cone. Their syntax is very simple.Các phần tử 3D dễ xây dựng nhất là Block, Cylinder, Sphere và Cone. Cú pháp của chúng rất đơn giản. – BLOCK x,y,z x being the width, y the depth and z the height. x là chiều rộng, y là chiều sâu và z là chiều cao. – CYLIND h,r h being the Height, and r the Radius. h là Chiều cao và r là Bán kính. – SPHERE r r being the Radius. r là Bán kính. – CONE h,r1,r2,90,90 h being the Height, and r1 the Radius at the base and r2 theRadius at the top. The 90, 90 are the angles at which you cutoff the top and bottom. You can vary these numbers to get interesting effects.h là Chiều cao, và r1 là Bán kính ở gốc và r2 là Bán kính ở trên cùng. 90, 90 là các góc mà bạn cắt đỉnh và đáy. Bạn có thể thay đổi những con số này để có được những hiệu ứng thú vị.

First steps in 3D GDL Các bước đầu tiên trong 3D GDL Open the 3D Script and try writing BLOCK 1,2,3. Look at the result in the 3D window – a tall cuboid. Now try writing, CYLIND1,2. A short but very fat cylinder appears at the near left corner ofthe cuboid. Finally, try writing SPHERE 1.5– a large ball appearsat the same corner, partially submerged in the fat cylinder. Finally, try the CONE. All these objects have been built at the same location, called the Global Origin. Even at this stage you will already want to improve the appearance of the object. It is all the same color, depending on the default PEN. So above the Block command, write PEN 1, and write MATERIAL 'Whitewash' (or use the name of a material that is known to you in your materials library).Mở Tập lệnh 3D và thử viết KHỐI 1,2,3. Nhìn vào kết quả trong cửa sổ 3D - một hình

khối cao. Bây giờ hãy thử viết, CYLIND 1,2. Một hình trụ ngắn nhưng rất béo xuất hiện ở góc gần bên trái của hình khối. Cuối cùng, hãy thử viết SPHERE 1.5 - một quả bóng lớn xuất hiện ở cùng một góc, ngập một phần trong hình trụ béo. Cuối cùng, hãy thử CONE. Tất cả các đối tượng này đã được xây dựng tại cùng một vị trí, được gọi là Nguồn gốc toàn cầu. Ngay cả ở giai đoạn này, bạn đã muốn cải thiện vẻ ngoài của đối tượng. Tất cả đều có cùng màu, tùy thuộc vào PEN mặc định. Vì vậy, bên trên lệnh Block, hãy viết PEN 1 và viết MATERIAL 'Whitewash' (hoặc sử dụng tên của tài liệu mà bạn đã biết trong thư viện tài liệu của bạn). PEN 1 MATERIAL 'Whitewash' BLOCK 1.0, 2.0, 3.0 CYLIND 1.0, 1.0 SPHERE 1.0 CONE 4, 0.5, 0.1, 90, 90

34

Object Making with ArchiCAD

Chapter 3: Starting with GDL

The dimensions you are writing are in meters. The native dimensioning system of GDL is always meters, no matter what youset your main project to be using. In your project file, you could be working in feet and fractional inches, centimeters, millimeters. But GDL is ‘hard coded’ so you need to work to one dimensional system. If you wish to use feet or inches, you can, but you must write them with punctuation, e.g., BLOCK 1”,2”,3’0”. It reduces a risk of confusion (for humans) if you write dimensionswith a decimal form, as 2.0, not as 2.Kích thước bạn đang viết được tính bằng mét. Hệ thống đo kích thước gốc của GDL luôn là mét, bất kể bạn thiết lập dự án chính của mình để sử dụng là gì. Trong tệp dự án của bạn, bạn có thể làm việc theo đơn vị feet và inch, cm, milimét. Nhưng GDL là "mã hóa cứng", vì vậy bạn cần phải làm việc với hệ thống một chiều. Nếu bạn muốn sử dụng feet hoặc inch, bạn có thể, nhưng bạn phải viết chúng bằng dấu câu, ví dụ: BLOCK 1 ”, 2”, 3’-0 ”. Nó làm giảm nguy cơ nhầm lẫn (đối với con người) nếu bạn viết thứ nguyên ở dạng thập phân, dưới dạng 2.0, không phải là 2. Click in the 3D window (of the library part, not the project) and you will see this. These objects all exist in the same space and overlap each other, so we need to find a way to separate them. The wireframe view shows each of the objects and the shaded view shows you how well GDL permits objects to ‘collide’ like this without harm.Nhấp vào cửa sổ 3D (của phần thư viện, không phải của dự án) và bạn sẽ thấy điều này. Các đối tượng này đều tồn tại trong cùng một không gian và chồng chất lên nhau, vì vậy chúng ta cần tìm cách tách chúng ra. Chế độ xem khung dây hiển thị từng đối tượng và chế độ xem bóng mờ cho bạn biết GDL cho phép các đối tượng 'va chạm' như vậy mà không gây hại như thế nào. If, when you click the 3D window, it refuses to draw because of an error, return to your script and click on the Check Script button.This will point to the line where the error occurred, usually because of an incorrectly placed comma, or a typo.Nếu khi bạn nhấp vào cửa sổ 3D, nó từ chối vẽ do lỗi, hãy quay lại tập lệnh của bạn và nhấp vào nút Kiểm tra tập lệnh. Thao tác này sẽ trỏ đến dòng xảy ra lỗi, thường là do dấu phẩy được đặt không chính xác hoặc lỗi đánh máy.

3D Space and the 3D Cursor Không gian 3D và con trỏ 3D You need to move about in 3D space to be able to place elements such as the legs of a chair, or a tabletop. This is done with ADD commands. These work on the logical idea that the 3D world can be thought of in three rectilinear directions called X, Y and Z. You should be familiar with the idea of X, Y and Z from the normal ArchiCAD environment – the Coordinate Box allows you to enter adimension in X or Y, and you can also enter radial dimensions andangles. In GDL, Z is used to provide vertical movement.Bạn cần di chuyển trong không gian 3D để có thể đặt các yếu tố như chân ghế hoặc mặt bàn. Điều này được thực hiện với các lệnh ADD. Chúng hoạt động dựa trên ý tưởng hợp lý rằng thế giới 3D có thể được hình thành theo ba hướng tuyến tính được gọi là X, Y và Z. Bạn nên làm quen với ý tưởng về X, Y và Z từ môi trường ArchiCAD thông thường - Hộp tọa độ cho phép bạn nhập một kích thước bằng X hoặc Y và bạn cũng có thể nhập các kích thước và góc hướng tâm. Trong GDL, Z được sử dụng để cung cấp chuyển động thẳng đứng.

Object Making with ArchiCAD

35

Chapter 3: Starting with GDL

The three-pointed object that you can see in a GDL 3D view reminds you which ways are X, Y, or Z. This is like a 3D Cursor. When you word process, you are used to the idea of a cursor – wherever you place the cursor, you can begin typing, and whatever you type appears. In GDL, there are two cursor symbols.The one labelled ‘G’ is the Global cursor and shows you the originof the model. The one labelled ‘L’ is the Local Cursor. Wherever this is, your next 3D command will happen. Using the ADD command, you can move the cursor about in 3D space. ADDX, ADDY, or ADDZmove the cursor in those axial directions. The ADDcommand moves the cursor in three axes at once. Đối tượng ba cánh mà bạn có thể nhìn thấy trong chế độ xem 3D GDL nhắc nhở bạn cách nào là X, Y hoặc Z. Đây giống như Con trỏ 3D. Khi bạn xử lý văn bản, bạn đã quen với ý tưởng về con trỏ - bất cứ nơi nào bạn đặt con trỏ, bạn có thể bắt đầu nhập và bất cứ điều gì bạn nhập sẽ xuất hiện. Trong GDL, có hai biểu tượng con trỏ. Con trỏ có nhãn ‘G’ là con trỏ Toàn cầu và hiển thị cho bạn nguồn gốc của mô hình. Con trỏ có nhãn ‘L’ là Con trỏ cục bộ. Cho dù đây là đâu, lệnh 3D tiếp theo của bạn sẽ xảy ra. Sử dụng lệnh ADD, bạn có thể di chuyển con trỏ trong không gian 3D. ADDX, ADDY hoặc ADDZ di chuyển con trỏ theo các hướng trục đó. Lệnh ADD di chuyển con trỏ theo ba trục cùng một lúc. When you are writing GDL in 2D, you have a similar concept of Xand Y based 2D space, and you do not have to worry about height. Using the ADD2 command, you can move about in 2D space providing you specify both the X and Y distances. Unfortunately, you do not have a visible cursor.Khi bạn viết GDL ở dạng 2D, bạn có khái niệm tương tự về không gian 2D dựa trên X và Y, và bạn không phải lo lắng về chiều cao. Sử dụng lệnh ADD2, bạn có thể di chuyển trong không gian 2D với điều kiện bạn chỉ định cả khoảng cách X và Y. In reality, the 3D world is too complex to be defined ONLY in absolute terms of X, Y and Z. So you will be glad to know that youare also able to Rotate the cursor (using the ROTcommand) and move radially, and work at different angles from the pure horizontal and vertical. You are also able to shrink or expand the cursor (using the MUL command which multiplies) so you can easily deform or mirror elements of your model.Thật không may, bạn không có con trỏ hiển thị. Trong thực tế, thế giới 3D quá phức tạp để CHỈ được định nghĩa theo nghĩa tuyệt đối của X, Y và Z. Vì vậy, bạn sẽ rất vui khi biết rằng bạn cũng có thể Xoay con trỏ (sử dụng lệnh ROT) và di chuyển theo hướng tâm, và làm việc ở các góc khác nhau từ phương ngang và phương thẳng đứng thuần túy. Bạn cũng có thể thu nhỏ hoặc mở rộng con trỏ (sử dụng lệnh MUL nhân lên) để bạn có thể dễ dàng làm biến dạng hoặc phản chiếu các phần tử của mô hình của mình. A few simple examples will illustrate how all of these work.

Một vài ví dụ đơn giản sẽ minh họa cách thức hoạt động của tất cả những thứ này.

36

Object Making with ArchiCAD

Chapter 3: Starting with GDL

Take the previous script and play with it.Lấy kịch bản trước đó và chơi với nó. !Cursor MovementPEN 1 MATERIAL 'Whitewash' BLOCK 1.0, 2.0, 3.0 ADD 1.0,1.0,1.5 ROTy 90 CYLIND 1.0,1.0 ADDz 2.0 MULz 0.5 SPHERE 1.0 ADDz -2.0 CONE 5, 0.5, 0.1, 90,90 DEL 5

In this example, we have started by adding a Label. Using the exclamation mark, you can type anything you like after this and the machine will ignore it. But it is most useful to the human eye and brain. It is always good to label your scripts with a name and adate. It is also a good discipline to write GDL commands in upper case and to write labels and other text in lower case.Trong ví dụ này, chúng tôi đã bắt đầu bằng cách thêm Nhãn. Sử dụng dấu chấm than, bạn có thể gõ bất cứ thứ gì bạn thích sau đó và máy sẽ bỏ qua nó. Nhưng nó hữu ích nhất đối với mắt và não của con người. Luôn luôn tốt để gắn nhãn các tập lệnh của bạn bằng tên và ngày tháng. Nó cũng là một kỷ luật tốt để viết lệnh GDL bằng chữ hoa và viết nhãn và văn bản khác bằng chữ thường. The Block is built as in the previous example. The cursor moves inthe X direction, using the ADDX command. Write this as one word ‘ADDX’ followed by the distance. Then using the ‘ROTY’ command, the cursor can be rotated around the Y axis. Now the Cylinder getsdrawn – although cylinders always grow vertically, the vertical axisis now laying on its side, so the cylinder grows sideways. Now youcan ADDZ which raises the cursor vertically in its new orientation. We want to draw the Sphere, but as a bit of fun, use a MUL command to halve its height and make it elliptical. MULZ 0.5 makes it half as high, but leaves width and depth unchanged.Khối được xây dựng như

trong ví dụ trước. Con trỏ di chuyển theo hướng X, sử dụng lệnh ADDX. Viết cái này dưới dạng một từ 'ADDX' theo sau là khoảng cách. Sau đó, sử dụng lệnh ‘ROTY’, con trỏ có thể được xoay quanh trục Y. Bây giờ Xi lanh được rút ra - mặc dù các hình trụ luôn phát triển theo chiều dọc, trục thẳng đứng hiện đang nằm nghiêng về phía nó, do đó hình trụ phát triển sang một bên. Bây giờ bạn có thể ADDZ để nâng con trỏ theo chiều dọc theo hướng mới của nó. Chúng tôi muốn vẽ Sphere, nhưng thú vị một chút, hãy sử dụng lệnh MUL để giảm một nửa chiều cao của nó và làm cho nó có hình elip. MULZ 0,5 làm cho nó cao bằng một nửa, nhưng không thay đổi chiều rộng và chiều sâu.

Object Making with ArchiCAD

37

Chapter 3: Starting with GDL

The importance of DEL Tầm quan trọng của DEL Finally, it is a good discipline to return the cursor back to the origin. GDL remembers every cursor move you have made. TheDELcommand undoes or ‘forgets’ these movements, allowing thecursor to retreat back to the origin, leaving the 3D elements behind. As we have done four cursor commands, the DEL 4will neatly return the cursor to the origin.Cuối cùng, nó là một kỷ luật tốt để đưa con trỏ trở lại nguồn gốc. GDL ghi nhớ mọi di chuyển con trỏ bạn đã thực hiện. Lệnh DEL hoàn tác hoặc ‘quên’ các chuyển động này, cho phép con trỏ quay trở lại điểm gốc, bỏ lại các phần tử 3D. Như chúng ta đã thực hiện bốn lệnh con trỏ, DEL 4 sẽ trả lại con trỏ một cách gọn gàng như ban đầu. You may be familiar with the difference between Absolute distance (distance from the Origin) and Relative distance (distancefrom where you are now to the next position). In GDL, you navigate around the 3D model making Relative jumps. Because you can also Rotate and Multiply, you are in danger of getting lost – after a few lines you could be ‘deep in spaghetti’. After each set of moves, you should return to the origin using DEL before doingthe next job. For example, in a chair model, you could build the legs, then return to the origin before starting work on the seat.Bạn có thể đã quen với sự khác biệt giữa Khoảng cách tuyệt đối (khoảng cách từ Điểm khởi đầu) và Khoảng cách tương đối (khoảng cách từ vị trí hiện tại của bạn đến vị trí tiếp theo). Trong GDL, bạn điều hướng xung quanh mô hình 3D tạo ra các bước nhảy tương đối. Vì bạn cũng có thể Xoay và Nhân nên bạn có nguy cơ bị lạc - sau một vài dòng, bạn có thể ‘đắm chìm trong mì ống’. Sau mỗi lượt di chuyển, bạn nên quay lại điểm ban đầu bằng DEL trước khi thực hiện công việc tiếp theo. Ví dụ, trong một mẫu ghế, bạn có thể dựng chân, sau đó quay trở lại điểm ban đầu trước khi bắt đầu thao tác trên ghế.

Do not forget the 2D script Đừng quên kịch bản 2D Finally, when you save the GDL model, and bring it into the project floor plan, you will be dismayed to find that it does not display – it has no symbol, and at best you will have nothing morethan a hotspot. So for the present moment, open the object again,open the 2D script window and write a single line:Cuối cùng, khi bạn lưu mô hình GDL và đưa nó vào sơ đồ tầng của dự án, bạn sẽ thất vọng khi thấy rằng nó không hiển thị - nó không có biểu tượng, và tốt nhất bạn sẽ không có gì khác hơn là một điểm phát sóng. Vì vậy, ở thời điểm hiện tại, hãy mở lại đối tượng, mở cửa sổ tập lệnh 2D và viết một dòng:

38

PROJECT2 3,270,2 This is a ‘killer’ command that in one line, displays the 3D object in 2D, regardless of its complexity. Later, when we get onto 2D scripting, the PROJECT2 command can be explained in more detail, along with other 2D GDL commands.Đây là lệnh ‘sát thủ’ trong một dòng, hiển thị đối tượng 3D ở dạng 2D, bất kể độ phức tạp của nó. Sau đó, khi chúng ta làm quen với kịch bản 2D, lệnh PROJECT2 có thể được giải thích chi tiết hơn, cùng với các lệnh GDL 2D khác.

Summary of GDL, to this point Tóm tắt về GDL, cho đến thời điểm này – Start with the easy 3D commands.Bắt đầu với các lệnh 3D dễ dàng. – Use UPPER case for commands, lower case everything else.Sử dụng chữ hoa UPPER cho các lệnh, chữ thường cho mọi thứ khác. – Write (!)Labels to define a piece of work.Viết (!) Nhãn để xác định một phần tác phẩm. – Write GDL commands in UPPER case, and everything else inlower case.Viết lệnh GDL trong trường hợp UPPER và mọi thứ khác trong trường hợp thấp hơn. – Set a Material and Pen color.Đặt Chất liệu và Màu bút. – Use Check Script to see if errors occur.Sử dụng Check Script để xem có lỗi xảy ra hay không. – Be careful with commas and spelling.Cẩn thận với dấu phẩy và chính tả. – Click in the 3D window to see the object build.Nhấp vào cửa sổ 3D để xem bản dựng đối tượng. – Do one bit, return the cursor and then do next bit; and so on.Do một bit, trả lại con trỏ và sau đó thực hiện bit tiếp theo; và như thế. – Do not forget to make a short 2D script.Đừng quên làm một kịch bản 2D ngắn Object Making with ArchiCAD

Chapter 3: Starting with GDL

3.2 Let’s build a 3D Object Hãy xây dựng một Đối tượng 3D From ArchiCAD, choose File>New Library Part>Object. We are going to build a simple chair. Remember that this tutorial is aboutGDL, not chair design, so please do not be concerned that it is a simple chair. It needs to be.Từ ArchiCAD, chọn Tệp> Phần Thư viện Mới> Đối tượng. Chúng tôi sẽ chế tạo một chiếc ghế đơn giản. Hãy nhớ rằng hướng dẫn này là về GDL, không phải thiết kế ghế, vì vậy xin đừng lo lắng rằng nó là một chiếc ghế đơn giản. Nó cần phải. Start in the 3D Script with a BLOCK command for one leg of the chair. Let the chair have a general size of 50 mm (2”) for legs and other thicknesses. Later we can introduce subtleties of form and size. Starting from the left-hand front corner, use the ADD commandsand work your way around the chair, planting legs as you go.Bắt đầu trong Tập lệnh 3D bằng lệnh BLOCK cho một chân của ghế. Để ghế có kích thước chung là 50 mm (2 ”) cho chân và các độ dày khác. Sau đó, chúng tôi có thể giới thiệu sự tinh tế của hình thức và kích thước. Bắt đầu từ góc trước bên trái, sử dụng lệnh ADD và di chuyển xung quanh ghế, đặt chân khi bạn di chuyển. !Legs MATERIAL ’Pine’: PEN 1 BLOCK 0.05,0.05,0.45 ADDx 0.4 BLOCK 0.05,0.05,0.45 ADDy 0.4 BLOCK 0.05,0.05,0.45 ADDx -0.4 BLOCK 0.05,0.05,0.45 DEL 3 Notice that it is wise, even for such a simple object, to write a label, to define the material and pen color. These two can be included on the same line using a colon to separate the commands. You may not have the Material names used here, soput in the names of materials that you know to be loaded.Lưu ý rằng việc viết nhãn, xác định chất liệu và màu bút là điều khôn ngoan, ngay cả đối với một vật đơn giản như vậy. Hai lệnh này có thể được bao gồm trên cùng một dòng bằng cách sử dụng dấu hai chấm để phân tách các lệnh. Bạn có thể không có tên Vật liệu được sử dụng ở đây, vì vậy hãy nhập tên của vật liệu mà bạn biết sẽ được tải. The operation to make the legs involves three ADD commands, so we can use DEL 3to bring the cursor back to the origin. Then rest.Thao tác tạo chân bao gồm ba lệnh ADD, vì vậy chúng ta có thể sử dụng DEL 3 để đưa con trỏ trở lại điểm gốc. Sau đó thì nghỉ ngơi. Now for the Seat. This should be of a different material so start with the label and a new material statement. Lift the

cursor and draw the block. Note that the block has to be high and big enoughto cover the legs. When you use quote marks, it does not matter if they are double or single quotes as long as you are consistent.Bây giờ cho Ghế. Đây phải là vật liệu khác, vì vậy hãy bắt đầu với nhãn và tuyên bố vật liệu mới. Nhấc con trỏ và vẽ khối. Lưu ý rằng khối phải cao và đủ lớn để che chân. Khi bạn sử dụng dấu ngoặc kép, không quan trọng chúng là dấu ngoặc kép hay dấu nháy đơn, miễn là bạn nhất quán. !Seat MATERIAL ’Textile’ ADDz 0.45 BLOCK 0.45,0.45,0.05 DEL 1 Now for the Back. Note that we are working with BLOCK on this chair. As your confidence increases, you will expand the range ofGDL commands you use to achieve form. There is usually morethan one way to make any shape.Bây giờ cho Mặt sau. Lưu ý rằng chúng tôi đang làm việc với BLOCK trên chiếc ghế này. Khi sự tự tin của bạn tăng lên, bạn sẽ mở rộng phạm vi lệnh GDL mà bạn sử dụng để đạt được hình thức. Thường có nhiều hơn một cách để tạo bất kỳ hình dạng nào. Object Making with ArchiCAD

39

Chapter 3: Starting with GDL

!Back MATERIAL ’Pine’ ADD 0,0.4,0.45 BLOCK 0.05,0.05,0.45 ADDx 0.4 BLOCK 0.05,0.05,0.45 DEL 1 MATERIAL ’Textile’ ADD 0.05,0,0.15 BLOCK 0.35,0.05,0.30 DEL 1 DEL 1 To complete this, you will want to see this in your floor plan. You must write a 2D Script if it is to be visible. Open the 2D script window and write the single line ‘PROJECT2 3,270,2’. Close the object, return to the floor plan. Click the Object tool in the Toolbox, click in the plan, and your chair will appear, with its ownhotspots provided by ArchiCAD.Để hoàn thành việc này, bạn sẽ muốn thấy điều này trong sơ đồ tầng của mình. Bạn phải viết Tập lệnh 2D nếu nó được hiển thị. Mở cửa sổ tập lệnh 2D và viết dòng đơn ‘PROJECT2 3,270,2’. Đóng đối tượng, trở lại sơ đồ mặt bằng. Nhấp vào công cụ Đối tượng trong Hộp công cụ, nhấp vào kế hoạch và chiếc ghế của bạn sẽ xuất hiện, với các điểm phát sóng riêng do ArchiCAD cung cấp. The chair may not win a design award, but it is your first GDL object – so reward yourself and then try another task.Chiếc ghế có thể không giành được giải thưởng thiết kế, nhưng nó là đối tượng GDL đầu tiên của bạn - vì vậy hãy tự thưởng cho mình và sau đó thử làm một nhiệm vụ khác.

Let’s make this chair parametric Hãy làm cho chiếc ghế này tham số If you stretch a non parametric object, it deforms proportionally, butunrealistically. Square table legs become rectangular, cylindrical legsbecome elliptical. If you stretch a parametric object, it retains important properties such as diameters and thicknesses. The primary reason for using GDL has to be to enable objects to be parametric. So this simple chair needs to be upgraded. Nếu bạn kéo căng một vật thể không tham số, nó sẽ biến dạng theo tỷ lệ, nhưng không thực tế. Chân bàn vuông trở thành hình chữ nhật, chân trụ trở thành elip. Nếu bạn kéo

giãn một đối tượng tham số, nó sẽ giữ lại các thuộc tính quan trọng như đường kính và độ dày. Lý do chính để sử dụng GDL là để cho phép các đối tượng là tham số. Vì vậy, chiếc ghế đơn giản này cần được nâng cấp.

First make some parameters Đầu tiên hãy tạo một số thông số Click on the chair object and open it again for editing. In the parameter building box, click the ‘New’ button 5 or 6 times to make new lines in the building box. They are lettered C, D, E, F, and so on, and they always start with a value of zero. Click in the parameter name box of the first one and write in a name for the leg thickness parameter. Call it ‘tsec’ which is a 4-letter shorthand for timber section. Write in the larger field something like ‘Timber sectional size’ or equivalent. This is what the user will read when they open your object – so make your description a model of clarity. Then enter a starting value, such as 0.05 meters. If your system settings are in another unit system, write in 50 mm, or 2” orwhatever suits you. Nhấp vào đối tượng ghế và mở lại để chỉnh sửa. Trong hộp xây dựng thông số, nhấp vào nút ‘Mới’ 5 hoặc 6 lần để tạo các đường mới trong hộp xây dựng. Chúng được ký tự C, D, E, F, v.v. và chúng luôn bắt đầu bằng giá trị 0. Nhấp vào hộp tên thông số của cái đầu tiên và viết tên cho thông số độ dày của chân. Gọi nó là 'tsec' là cách viết tắt 4 chữ cái để chỉ phần gỗ. Viết vào trường lớn hơn như "Kích thước mặt cắt gỗ" hoặc tương đương. Đây là những gì người dùng sẽ đọc khi họ mở đối tượng của bạn - vì vậy hãy làm cho mô tả của bạn trở thành một mô hình rõ ràng. Sau đó, nhập giá trị bắt đầu, chẳng hạn như 0,05 mét. Nếu cài đặt hệ thống của bạn nằm trong một hệ thống đơn vị khác, hãy viết bằng 50 mm, hoặc 2 ”hoặc bất kỳ thứ gì phù hợp với bạn. Add in more parameter names. Try ‘seathit’ for Seat height, ‘legmat’ for Leg material and so on. Think about the parameters you might want to change. You will find a button in the same parameter building box that you can pop-up to reveal a palette totell GDL whether the parameter is a Dimension, a Material, Pencolor or whatever. This palette will be covered in more detail asthe exercises develop. Thêm tên thông số khác. Hãy thử ‘seathit’ cho Chiều cao ghế, ‘legmat’ cho vật liệu của chân, v.v. Suy nghĩ về các thông số bạn có thể muốn thay đổi. Bạn sẽ tìm thấy một nút trong cùng một hộp xây dựng thông số mà bạn có thể bật lên để hiển thị bảng màu để cho GDL biết thông số đó là Thứ nguyên, Chất liệu, Màu bút hay bất cứ thứ gì. Bảng màu này sẽ được trình bày chi tiết hơn khi các bài tập phát triển.

40

Object Making with ArchiCAD

Chapter 3: Starting with GDL

Rules for parameter naming Quy tắc đặt tên tham số

Object Making with ArchiCAD

A and B at the top of the parameters box are ‘Magic parameters’ that govern the width and depth of objects. You do not have to use them.You could use ‘wid’ and ‘dep’ along with the other parameters. Let’s use A and B here because they will enable the object to be stretchy. Change them both to the equivalent of 45 cm or 18”.A và B ở trên cùng của hộp tham số là ‘Tham số ma thuật’ chi phối chiều rộng và chiều sâu của các đối tượng. Bạn không cần phải sử dụng chúng. Bạn có thể sử dụng "wid" và "dep" cùng với các tham số khác. Hãy sử dụng A và B ở đây vì chúng sẽ cho phép đối tượng co giãn. Thay đổi cả hai thành tương đương 45 cm hoặc 18 ”. The rules for names of parameters are simple. Use more than one letter so that you can remember what the parameter means. Singleletters are best used as ‘counters’ or ‘flags’ when you get further into GDL. It’s important to be able to read your script weeks later and still understand what you meant. ‘Legmat’ is far more expressive than ‘L’. It takes more typing, but that is a small worrycompared with the importance of understanding. It’s easier to make typing errors with long parameter names, so avoid over-long

41

Chapter 3: Starting with GDL

names like ‘leg_cross_section’. The letters must be sequential (no spaces) but you can join words with an underscore e.g. ‘leg_mat’. Parameters are not case sensitive, but as a discipline, stick exclusively to lowercase for parameters, upper case for commands.Các quy tắc cho tên của các tham số rất đơn giản. Sử dụng nhiều hơn một chữ cái để bạn có thể nhớ ý nghĩa của tham số. Các chữ cái đơn lẻ được sử dụng tốt nhất làm "bộ đếm" hoặc "cờ" khi bạn tiến sâu hơn vào GDL. Điều quan trọng là bạn có thể đọc tập lệnh của mình vài tuần sau đó và vẫn hiểu ý bạn. ‘Legmat’ biểu cảm hơn nhiều so với ‘L’. Phải đánh máy nhiều hơn, nhưng đó là một nỗi lo nhỏ so với tầm quan trọng của sự hiểu biết. Dễ mắc lỗi nhập hơn với tên thông số dài, vì vậy hãy tránh những tên quá dài như ‘leg_cross_section’. Các chữ cái phải tuần tự (không có khoảng trắng) nhưng bạn có thể nối các từ bằng dấu gạch dưới, ví dụ: ‘Leg_mat’. Các tham số không phân biệt chữ hoa chữ thường, nhưng là một nguyên tắc, chỉ sử dụng chữ thường cho các tham số, chữ hoa cho các lệnh. The most important rule is that you must not use words that are already GDL commands (or archaic GDL commands). So names like ‘block’, ‘strlen’, ‘open’ and ‘nod’ cannot be used.Quy tắc quan trọng nhất là bạn không được sử dụng các từ đã là lệnh GDL (hoặc lệnh GDL cổ). Vì vậy không thể sử dụng các tên như ‘block’, ‘strlen’, ‘open’ và ‘gật đầu’.

Now convert the 3D script Bây giờ chuyển đổi tập lệnh 3D The next task is to convert the script from dimensions to parameters.Once you have written a few GDL scripts, it becomes second nature to think out the structure of an object in terms of parameters and write directly into the script using parameters. You develop a personal lingo of words like ‘len’, ‘wid’, and ‘dep’ that you can use in all objects. Start by changing all the leg section widths to ‘tsec’, then gradually change all the others. Notice that, because the block starts from the near-left corner, the distance it has to move to draw each leg is the dimension of the chair less the leg thickness, for example, width(A) minus tsec – and so on. Try it for yourself. Nhiệm vụ tiếp theo là chuyển đổi script từ thứ nguyên thành tham số. Khi bạn đã viết một vài tập lệnh GDL, bản chất thứ hai là nghĩ ra cấu trúc của một đối tượng dưới dạng tham số và viết trực tiếp vào tập lệnh bằng cách sử dụng các tham số. Bạn phát triển một biệt ngữ cá nhân của các từ như ‘len’, ‘wid’ và ‘dep’ mà bạn có thể sử dụng trong tất cả các đối tượng. Bắt đầu bằng cách thay đổi tất cả chiều rộng của phần chân thành ‘tsec’, sau đó dần dần thay đổi tất cả các chiều rộng khác. Lưu ý rằng, vì khối bắt đầu từ góc gần bên trái, khoảng cách nó phải di chuyển để vẽ mỗi chân là kích thước của chiếc ghế trừ độ dày của chân, ví dụ: chiều rộng (A) trừ đi tsec - v.v. Hãy thử nó cho chính mình. !Simple chair, parametricPEN pcol ! Ghế đơn giản, PEN pcol tham số !Legs !Chân MATERIAL legmat BLOCK tsec,tsec,seathit-tsecADDX A-tsec BLOCK tsec,tsec,seathit-tsecADDY B-tsec BLOCK tsec,tsec,seathit-tsec !Note the use of brackets ! Lưu ý việc sử dụng dấu ADDX -(A-tsec)

ngoặ

BLOCK tsec,tsec,seathit-tsecDEL 3 !Seat MATERIAL seatmat ADDZ seathit-tsec ADD 0.001,0.001,0 !Nudge upholstery by one pixel ! Dịch chuyển vải bọc một pixel

BLOCK A-0.002,B-0.002,tsecDEL 2 !Back MATERIAL legmat ADD 0, B-tsec, seathit-tsecBLOCK tsec,tsec,bakhit ADDX A-tsec BLOCK tsec,tsec,bakhitDEL 1

42

Object Making with ArchiCAD

Chapter 3: Starting with GDL

MATERIAL seatmat !UpholsteryADD tsec,0,bakhit/3 BLOCK A-tsec*2,tsec,bakhit*2/3DEL 1 DEL 1

Evolution of form Sự phát triển của hình thức As part of the changes, we can improve the 3D appearance. In thesimple chair, the rear upholstery of the seat was in exactly the same 3D space as the uprights for the back. If you nudge the upholstery forward and to the right by one 3D pixel (one millimeter) and reduce the seat size by two pixels, the chair will render better in 3D. Là một phần của những thay đổi, chúng tôi có thể cải thiện giao diện 3D. Trong chiếc ghế đơn giản, phần bọc phía sau của ghế nằm trong không gian 3D chính xác giống như phần đệm cho lưng. Nếu bạn di chuyển vải bọc về phía trước và bên phải một pixel 3D (một milimet) và giảm kích thước ghế đi hai pixel, chiếc ghế sẽ hiển thị 3D tốt hơn.

The idea of 3D ‘systems analysis’ Ý tưởng về 'phân tích hệ thống' 3D The back is a little more complicated. Previously, we used actualdimensions. Now we have to do a little systems analysis on the chair. It is logical that the upholstery of the back is equal to the width of the chair minus twice the leg thickness. We have to applysimple systems analysis to all 3D objects if parametric scripting is to work at all.Mặt sau phức tạp hơn một chút. Trước đây, chúng tôi sử dụng kích thước thực tế. Bây giờ chúng ta phải thực hiện một phân tích hệ thống nhỏ trên chiếc ghế. Hợp lý là phần bọc của lưng bằng chiều rộng của ghế trừ đi hai lần chiều dày của chân. Chúng tôi phải áp dụng phân tích hệ thống đơn giản cho tất cả các đối tượng 3D nếu kịch bản tham số hoạt động. Now you can write the X,Y and Z values as arithmetic expressions.Star (*) means multiply, slash (/) means divide.Bây giờ bạn có thể viết các giá trị X, Y và Z dưới dạng biểu thức số học. Dấu sao (*) có nghĩa là nhân, dấu gạch chéo (/) có nghĩa là chia.

Error checking Kiểm tra lỗi

Object Making with ArchiCAD

As you work your way through the script, keep clicking in the 3Dview window of the GDL object to see if the logic of your arithmetical expressions are making sense. If they are not, it may be a bad spelling. A wrongly spelled parameter will result in a value of zero, or could produce an error message. Click on the ‘Check Script’ button and read the error message – if you get one.Khi bạn thực hiện theo cách của mình thông qua tập lệnh, hãy tiếp tục nhấp vào cửa sổ xem 3D của đối tượng GDL để xem liệu logic của các biểu thức số học của bạn có hợp lý hay không. Nếu không, nó có thể là một lỗi chính tả. Một tham số viết sai chính tả sẽ dẫn đến giá trị bằng 0 hoặc có thể tạo ra thông báo lỗi. Nhấp vào nút ‘Kiểm tra tập lệnh’ và đọc thông báo lỗi - nếu bạn gặp phải.

Fixed parameters Các thông số cố định

We made an assumption that the back upholstery would be 2/3 ofthe back height. This is what we call a “manufacturer’s rule.” So you fix this in the script without giving the user a choice. If you wanted it to be variable, you could provide additional parametersto enable the user to control the appearance. Chúng tôi đã đưa ra một giả định rằng phần vải bọc phía sau sẽ bằng 2/3 chiều cao của phần lưng. Đây là những gì chúng tôi gọi là "quy tắc của nhà sản xuất". Vì vậy, bạn sửa lỗi này trong script mà không cho người dùng lựa chọn. Nếu bạn muốn nó có thể thay đổi, bạn có thể cung cấp các tham số bổ sung để cho phép người dùng kiểm soát giao diện.

3D is more powerful if it is parametric 3D mạnh hơn nếu nó là tham số You can see that it is possible to write 3D scripts that are 100% based on parameters and not on real dimensions. This is the key tomaking objects smart and powerful. Once ArchiCAD users have grasped this they realize that there was something useful in all that algebra they learned so painfully at school. Later with GDL, youmay find that your school trigonometry comes in handy, too!Bạn có thể thấy rằng có thể viết kịch bản 3D 100% dựa trên các thông số chứ không phải trên kích thước thực. Đây là chìa khóa để làm cho các đối tượng trở nên thông minh và mạnh mẽ. Một khi người dùng ArchiCAD đã nắm được điều này, họ nhận ra rằng có điều gì đó hữu ích trong tất cả những gì họ đã học ở trường rất hữu ích. Sau này với GDL, bạn có thể thấy rằng lượng giác ở trường của bạn cũng có ích! Save the chair object, look at it in the floor plan, view its settings window, and play with it. Change the materials, height and leg thickness. If you have done everything correctly, it should behaveparametrically.Lưu đối tượng cái ghế, xem nó trong sơ đồ mặt bằng, xem cửa sổ cài đặt của nó và chơi với nó. Thay đổi vật liệu, chiều cao và độ dày của chân. Nếu bạn đã làm mọi thứ một cách chính xác, nó sẽ hoạt động theo tham số.

43

Chapter 3: Starting with GDL

algebra they learned so painfully at school. Later with GDL, youmay find that your school trigonometry comes in handy, too!đại số họ đã học rất đau đớn ở trường. Sau này với GDL, bạn có thể thấy rằng lượng giác ở trường của bạn cũng có ích! Save the chair object, look at it in the floor plan, view its settings window, and play with it. Change the materials, height and leg thickness. If you have done everything correctly, it should behave parametrically.Lưu đối tượng cái ghế, xem nó trong sơ đồ mặt bằng, xem cửa sổ cài đặt của nó và chơi với nó. Thay đổi vật liệu, chiều cao và độ dày của chân. Nếu bạn đã làm mọi thứ một cách chính xác, nó sẽ hoạt động theo tham số.

3.3 First steps in 2D scripting Các bước đầu tiên trong tạo kịch bản 2D Use a script for a more effective 2D symbol Sử dụng tập lệnh cho biểu tượng 2D hiệu quả hơn In the first version of the simple chair, you used the command of PROJECT2 3,270,2 – a ‘killer command’ that does it all. To achieve this, it has to do a hidden-line 3D drawing of the object asseen in plan view. The result of this can be that your floor plan takes too long to load or regenerate if you have many such objectsin the project. So we advise that you always use a 2D script unless the object is too changeable or complex to script. Let’s try a small script for this chair. Trong phiên bản đầu tiên của chiếc ghế đơn giản, bạn đã sử dụng lệnh của PROJECT2 3.270,2 - một 'lệnh sát thủ' thực hiện tất cả. Để đạt được điều này, nó phải thực hiện một bản vẽ 3D đường ẩn của đối tượng như được thấy trong chế độ xem mặt bằng. Kết quả của việc này có thể là sơ đồ tầng của bạn mất quá nhiều thời gian để tải hoặc tạo lại nếu bạn có nhiều đối tượng như vậy trong dự án. Vì vậy, chúng tôi khuyên bạn nên luôn sử dụng tập lệnh 2D trừ khi đối tượng quá dễ thay đổi hoặc phức tạp để tập lệnh. Hãy thử một kịch bản nhỏ cho chiếc ghế này. The RECT2command is a 2D command that is similar to BLOCK, but it is more flexible as you can specify the X and Y of the opposing corners, e.g., RECT2 x1,y1,x2,y2. All 2D commandsend in the letter ‘2’.Lệnh RECT2 là lệnh 2D tương tự như BLOCK, nhưng nó linh hoạt hơn vì bạn có thể chỉ định X và Y của các góc đối lập, ví dụ: RECT2 x1, y1, x2, y2. Tất cả các lệnh 2D đều kết thúc bằng chữ ‘2’. Let’s try two ways of doing this chair. We could follow the same sequence as the 3D script, using the ADD2 command to move around and plant each rectangle. Alternatively, we could stay at the origin and just issue all the RECT2 commands without havingto move anywhere. Hãy thử hai cách để thực hiện chiếc ghế này. Chúng tôi có thể làm theo trình tự tương tự như tập lệnh 3D, sử dụng lệnh ADD2 để di chuyển xung quanh và trồng từng hình chữ nhật. Ngoài ra, chúng ta có thể ở gốc và chỉ cần đưa ra tất cả các lệnh RECT2 mà không cần phải di chuyển bất cứ đâu.

The ADD2command is a move command in 2D, but requires bothX and Y. For an X move, give a value for Y of zero.Lệnh ADD2 là lệnh di chuyển trong 2D, nhưng yêu cầu cả X và Y. Đối với di chuyển X, hãy cho giá trị của Y bằng 0. !Simple chair, parametricPEN pcol ! Ghế đơn giản, PEN pcol tham số !PROJECT2 3,270,2 !make this into a comment ! biến điều này thành một bình luận

RECT2 0,0,A,B !Seat ADD2 0,B-tsec RECT2 0,0,tsec,tsec !LegADD2 Atsec,0 RECT2 0,0,tsec,tsec !LegDEL 2 !Back RECT2 tsec,B-tsec,A-tsec,B

44

Object Making with ArchiCAD

Chapter 3: Starting with GDL

The commands for the seat and legs follow the logic of the 3D model. You can use DEL to cancel cursor movements, just as in 3D. Unfortunately, you do not have a visible 2D cursor to tell youwhere it is – you just have to keep a mental track of its location. Các lệnh cho ghế và chân tuân theo logic của mô hình 3D. Bạn có thể sử dụng DEL để hủy các chuyển động của con trỏ, giống như trong 3D. Thật không may, bạn không có con trỏ 2D có thể nhìn thấy để cho bạn biết vị trí của nó - bạn chỉ cần theo dõi vị trí của nó. The command for the back upholstery sits in one place and issuesthe RECT2 command by exact XY locations. We can keep the PROJECT2command in the script, but make it inactive by turningit into a comment line.Lệnh cho ghế sau nằm ở một nơi và đưa ra lệnh RECT2 theo các vị trí XY chính xác. Chúng ta có thể giữ lệnh PROJECT2 trong script, nhưng làm cho nó không hoạt động bằng cách chuyển nó thành một dòng chú thích.

Save the object and place it on the floor plan. You will find that itgenerates the symbol instantaneously. It will also have hotspots.You will also find (to your delight?) that the chair is stretchy. Lưu đối tượng và đặt nó trên sơ đồ mặt bằng. Bạn sẽ thấy rằng nó tạo ra biểu tượng ngay lập tức. Nó cũng sẽ có các điểm nóng. Bạn cũng sẽ thấy (bạn có thích thú không?) Rằng chiếc ghế có độ co giãn.

Write your own hotspots Viết điểm phát sóng của riêng bạn If you wish to guarantee that hotspots are where you want them tobe and that the object will be stretchy, you are better off writing them yourself. Open the chair object again, and add the followinglines to the script you have written. Place the lines BEFORE the ones that contain the rectangle commands. Hotspots only need theX and Y location. Nếu bạn muốn đảm bảo rằng các điểm nóng là nơi bạn muốn và đối tượng sẽ co giãn, bạn nên tự viết chúng. Mở lại đối tượng ghế và thêm các dòng sau vào tập lệnh bạn đã viết. Đặt các dòng TRƯỚC những dòng chứa lệnh hình chữ nhật. Điểm phát sóng chỉ cần vị trí X và Y. HOTSPOT2 0,0 !4 Corner stretch spots ! 4 Điểm kéo dài góc HOTSPOT2 A,0 HOTSPOT2 A,B HOTSPOT2 0,B

HOTSPOT2 A/2,B/2 !Pick up spot ! Nhận chỗ If you have used ArchiCAD, you will know that hotspots have three main purposes: allowing objects to be picked up; making them stretchy; and giving them ‘gravity’ (helping them to snap against wall surfaces or each other). Design and place your hotspots as and where you need them. Nếu bạn đã sử dụng ArchiCAD, bạn sẽ biết rằng các điểm phát sóng có ba mục đích chính: cho phép nhặt các đối tượng; làm cho chúng co giãn; và tạo cho chúng 'trọng lực' (giúp chúng bám vào bề mặt tường hoặc vào nhau). Thiết kế và đặt các điểm phát sóng của bạn ở đâu và ở đâu bạn cần. Later in 2D GDL you can try commands like CIRCLE2, LINE2and ARC2.Sau đó trong GDL 2D, bạn có thể thử các lệnh như CIRCLE2, LINE2 và ARC2.

Object Making with ArchiCAD

45

Chapter 3: Starting with GDL

3D made more curvy 3D làm cong hơn Before long, you will want to break out of the rectilinear tyranny of BLOCK and RECT2. The syntax of cylinder (CYLIND), CONE and ELBOW are easy to use. With those three, you can build interesting tubular structures, such as the tubular frames of steel furniture. There isn’t space to deal with them in this chapter. Nowthat you have got this far, you may find it an easy challenge to explore on your own. Không lâu sau, bạn sẽ muốn thoát ra khỏi chế độ chuyên chế nghiêng ngả của BLOCK và RECT2. Cú pháp của trụ (CYLIND), CONE và ELBOW rất dễ sử dụng. Với ba thứ đó, bạn có thể xây dựng các cấu trúc hình ống thú vị, chẳng hạn như khung hình ống của đồ nội thất bằng thép. Không có không gian để giải quyết chúng trong chương này. Bây giờ bạn đã có được điều này, bạn có thể thấy nó là một thử thách dễ dàng để tự khám phá.

Summary of GDL, in this section Tóm tắt về GDL, trong phần này – You can write GDL entirely in dimensions.Bạn có thể viết GDL hoàn toàn theo các thứ nguyên. – It is better to write GDL in parameters.Tốt hơn là viết GDL trong các tham số. – Use parameter names that look logical, like ‘seatmat’.Sử dụng tên tham số trông hợp lý, chẳng hạn như ‘seatmat’. – Remember to click the pop-up palette that tells you if aparameter is length, material or pen color.Hãy nhớ nhấp vào bảng màu bật lên cho bạn biết nếu một tham số là chiều dài, chất liệu hoặc màu bút. – Describe the purpose of the parameters clearly.Mô tả rõ ràng mục đích của các tham số. – Try to make the entire 3D script parametric.Thử tạo toàn bộ tham số tập lệnh 3D – Click in the 3D view window frequently.Nhấp vào cửa sổ chế độ xem 3D thường xuyên. – After each 3D task is achieved, DEL back to the origin beforestarting the next task.Sau khi đạt được mỗi nhiệm vụ 3D, DEL trở lại điểm gốc trước khi bắt đầu nhiệm vụ tiếp theo. – Writing a 2D script is easy and saves time in the long term.Viết kịch bản 2D dễ dàng và tiết kiệm thời gian về lâu dài. – Hotspots are vital for making objects stretchy.Các điểm quan trọng để làm cho các vật thể co giãn. – Try cylinders, cones and elbows for extra quality andauthenticity.Thử hình trụ, hình nón và cùi chỏ để có thêm chất lượng và độ chân thực. – Now, at last, you have a useful application for that algebra youlearned at school. Bây giờ, cuối cùng, bạn có một ứng dụng hữu ích cho đại số mà bạn đã học ở trường.

46

Object Making with ArchiCAD

Chapter 4: Practical Uses for GDL

Chapter 4

Practical Uses for GDL Ứng dụng thực tế cho GDL Even in the early dawn of your GDL knowledge you can apply it to useful tasks. It’s the best way to learn. Ngay cả trong buổi bình minh đầu tiên của kiến thức GDL của bạn, bạn có thể áp dụng nó vào các nhiệm vụ hữu ích. Đó là cách tốt nhất để học.

Object Making with ArchiCAD

47

Chapter 4: Practical Uses for GDL

4.1 Practical Uses for GDL Ứng dụng thực tế cho GDL The simple chair was useful for breaking the ice with GDL; let’s now try two objects that could be genuinely useful to you in ArchiCAD. These objects will continue to widen your vision as towhat is possible with GDL, and will provide you with more rules,techniques and advice on getting the best out of GDL. Chiếc ghế đơn giản rất hữu ích để phá băng với GDL; Bây giờ chúng ta hãy thử hai đối tượng có thể thực sự hữu ích cho bạn trong ArchiCAD. Những đối tượng này sẽ tiếp tục mở rộng tầm nhìn của bạn về những gì có thể với GDL và sẽ cung cấp cho bạn nhiều quy tắc, kỹ thuật và lời khuyên hơn để tận dụng tối đa GDL.

GDL in 2D GDL ở dạng 2D It is possible to build objects entirely as 2D, but for many building components and furniture items, it is not so necessary. These can usually be built with the 2D tools and saved as objects – as previously demonstrated. In other cases, you can drop a 3D objectfrom the ArchiCAD Library into the floor plan, and ‘explode’ it –making it a 2D group of lines. However, if you can think of something that offers parametric properties, or you are scripting something that you have already built in 3D, then there is a good reason to learn scripting in 2D.Có thể xây dựng các đối tượng hoàn toàn dưới dạng 2D, nhưng đối với nhiều thành phần xây dựng và các món đồ nội thất, nó không quá cần thiết. Chúng thường có thể được xây dựng bằng các công cụ 2D và được lưu dưới dạng đối tượng - như đã trình bày trước đây. Trong các trường hợp khác, bạn có thể thả một đối tượng 3D từ Thư viện ArchiCAD vào sơ đồ mặt bằng và ‘phát nổ’ nó - biến nó thành một nhóm đường thẳng 2D. Tuy nhiên, nếu bạn có thể nghĩ ra thứ gì đó cung cấp các thuộc tính tham số hoặc bạn đang viết kịch bản thứ gì đó mà bạn đã xây dựng ở dạng 3D, thì có lý do chính đáng để học viết kịch bản ở dạng 2D. Let’s remind you of some of the common commands in 2D. Crossreference the corresponding section of the GDL Reference Guide.Hãy nhắc bạn về một số lệnh phổ biến trong 2D. Tham khảo chéo phần tương ứng của Hướng dẫn Tham khảo GDL. HOTSPOT2: allows you to post hotspots where you want them tobe. Normally GDL will give you ‘bounding box’ hotspots, but it isfar more powerful to place them where they will be useful – to make objects stretchy, to mark out points along a circle, or to make objects easier to pick up.cho phép bạn đăng các điểm phát sóng ở nơi bạn muốn. Thông thường GDL sẽ cung cấp cho bạn các điểm phát sóng ‘hộp giới hạn’, nhưng việc đặt chúng ở vị trí hữu ích sẽ mạnh hơn nhiều - để làm cho các đối tượng co giãn, để đánh dấu các điểm dọc theo một vòng tròn hoặc để lấy các đối tượng dễ dàng hơn. LINE2 x1,y1, x2,y2: draws a line from point x1,y1 to x2,y2.vẽ đoạn thẳng từ điểm x1, y1 đến x2, y2.

RECT2 x1,y1, x2,y2: draws a rectangle from point x1,y1 to x2,y2.vẽ hình chữ nhật từ điểm x1, y1 đến x2, y2. CIRCLE2 x, y, r: draws a circle at point x,y, of radius r.vẽ một đường tròn tại điểm x, y, bán kính r. ARC2 x, y, r, alpha, beta: draws part of a circle on point x,y, of radius r, starting with angle alpha and ending at anglebeta – moving in an counterclockwise direction.vẽ một phần của đường tròn trên điểm x, y, bán kính r, bắt đầu bằng góc alpha và kết thúc ở góc beta - chuyển động theo hướng ngược chiều kim đồng hồ. POLY2and POLY2_(underscore) are more powerful than any ofthe above. You can draw any of the above shapes, plus many other shapes, including ones with drilled holes and with a varietyof fill patterns.POLY2 và POLY2_ (gạch dưới) mạnh hơn bất kỳ loại nào ở trên. Bạn có thể vẽ bất kỳ hình dạng nào ở trên, cùng với nhiều hình dạng khác, bao gồm cả những hình có lỗ khoan và với nhiều kiểu tô màu. ADD2, MUL2, ROT2, DEL are concerned with cursor movement,and you have already seen them in use with the simple chair example. ADD2, MUL2, ROT2, DEL liên quan đến chuyển động của con trỏ và bạn đã thấy chúng được sử dụng với ví dụ chiếc ghế đơn giản.

48

Object Making with ArchiCAD

Chapter 4: Practical Uses for GDL

Let’s build something in 2D – and make it snappy Hãy xây dựng thứ gì đó ở dạng 2D và làm cho nó trở nên linh hoạt From ArchiCAD, choose File>New Library Part>Object. Let us make a 2D Symbol for a bed. The only point in making it in GDL isfor it to be parametric and to obey rules – to stretch intelligently, to‘snap’ to certain sizes. You can make an object smart by setting up a number of ‘IF statements’ which help GDL decide what course totake. Some choices can be determined by the user playing with the parameters, other rules would be treated as “manufacturer’s rules” and are written (‘hard-coded’) into the script.Từ ArchiCAD, chọn Tệp> Phần Thư viện Mới> Đối tượng. Hãy để chúng tôi tạo một Biểu tượng 2D cho một chiếc giường. Điểm duy nhất trong việc tạo ra nó trong GDL là nó phải là tham số và tuân theo các quy tắc - kéo dài một cách thông minh, để ‘chụp’ theo các kích thước nhất định. Bạn có thể làm cho một đối tượng trở nên thông minh bằng cách thiết lập một số 'câu lệnh IF' giúp GDL quyết định khóa học nào sẽ tham gia. Một số lựa chọn có thể được xác định bởi người dùng chơi với các thông số, các quy tắc khác sẽ được coi là "quy tắc của nhà sản xuất" và được viết ("mã hóa cứng") vào tập lệnh. Let us set up some simple rules. Beds, if single are 75 cm or 90 cmwide. If double, they are 135 cm or 150 cm wide. Beds are always195 cm long. Beds may have headboards. Bedposts are 5 cm square. The beds will be stretchable, but we do not want the bedsto be infinitely variable – that would be unrealistic. As each bed enlarges by pulling on its hotspots, we want it to snap to the correct size. ‘A’ is used as the parameter for width, and we do notneed to use ‘B’ in this case.Hãy để chúng tôi thiết lập một số quy tắc đơn giản. Giường, nếu là giường đơn, rộng 75 cm hoặc 90 cm. Nếu gấp đôi, chúng có chiều rộng 135 cm hoặc 150 cm. Giường luôn dài 195 cm. Giường có thể có đầu giường. Cột giường hình vuông 5 cm. Giường sẽ có thể co giãn được, nhưng chúng tôi không muốn giường có thể thay đổi vô hạn - điều đó là không thực tế. Khi mỗi chiếc giường mở rộng bằng cách kéo các điểm phát sóng của nó, chúng tôi muốn nó bắt kịp kích thước chính xác. ‘A’ được sử dụng làm tham số cho chiều rộng và chúng tôi không cần sử dụng ‘B’ trong trường hợp này. In the 2D script, we start with a label and then state one of the main rules – bed length. Then the stretchy hotspots follow. These are always best written BEFORE you write any significant elementsof script – because GDL is read in the order in which it is written, the stretchy hotspots tell the object how big to be, and the rest of the script does the job of drawing the object at the required size.Trong kịch bản 2D, chúng tôi bắt đầu với một nhãn và sau đó nêu một trong những quy tắc chính chiều dài giường. Sau đó, các điểm nóng co giãn theo sau. Chúng luôn được viết tốt nhất TRƯỚC KHI bạn viết bất kỳ phần tử quan trọng nào của tập lệnh - bởi vì GDL được đọc theo thứ tự mà nó được viết, các điểm nóng co giãn cho biết đối tượng lớn như thế nào và phần còn lại của tập lệnh thực hiện công việc vẽ đối tượng ở kích thước yêu cầu. !2D Bed Symbol len=1.95 HOTSPOT2 0,0

HOTSPOT2 A,0 HOTSPOT2 0,len HOTSPOT2 A,len

Object Making with ArchiCAD

49

Chapter 4: Practical Uses for GDL

The object can be ‘smart’ with IF... ENDIF Statements Đối tượng có thể là 'thông minh' với IF ... ENDIF các câu lệnh From the hotspots, the script knows the value of A and can decide what kind of bed it is. The IFstatements use the ‘greater than’ and‘smaller than’ expressions to decide on the correct bed width. IFstatements can be written on a single line or, as in this script, can be written in the form shown here. The first line ends with the word THEN, followed on the next few lines with the things to be done as a result of the IFquestion. You round off the IF statement with the ENDIF statement. As long as you go in the rightorder (each IFstatement checking in order of size), you finish up getting the right bed. You see here an example of a multi- statement line. You can use the colon to allow separate statementsto exist on the same line (a space saving device).Từ các điểm nóng, kịch bản biết được giá trị của A và có thể quyết định loại giường đó là gì. Câu lệnh IF sử dụng biểu thức ‘lớn hơn’ và ‘nhỏ hơn’ để quyết định chiều rộng giường chính xác. Câu lệnh IF có thể được viết trên một dòng hoặc, như trong tập lệnh này, có thể được viết dưới dạng hiển thị ở đây. Dòng đầu tiên kết thúc bằng từ THEN, tiếp theo là một vài dòng tiếp theo là những việc cần làm do kết quả của câu hỏi IF. Bạn làm tròn câu lệnh IF bằng câu lệnh ENDIF. Miễn là bạn đi đúng thứ tự (mỗi câu lệnh IF kiểm tra theo thứ tự kích thước), bạn sẽ hoàn thành việc chọn đúng giường. Bạn thấy ở đây một ví dụ về dòng nhiều câu lệnh. Bạn có thể sử dụng dấu hai chấm để cho phép các câu lệnh riêng biệt tồn tại trên cùng một dòng (một thiết bị tiết kiệm dung lượng).

The idea of Flags Ý tưởng về Cờ The variable called ‘bed’ is created and this is a way for the script to remember what sort of bed it is. This variable is called a ‘Flag’, ashorthand way for GDL to remember which option has been requested. In this example, the first digit of twelve ‘1’ tells GDL that it is a single bed and the second digit ‘2’ tells it that the bed is of the wide variety. The flag is used here to decide on the pillows layout. In more complex objects, flags are vital as a way of remembering the configuration. In a car-model, flags can remember the type of car, left/right hand drive, lights on/off, doorsopen/shut, seats visible/hidden, passengers present, steering direction of the wheels.Biến có tên là ‘bed’ được tạo và đây là cách để tập lệnh ghi nhớ loại giường đó là gì. Biến này được gọi là 'Flag', một cách viết tắt để GDL nhớ tùy chọn nào đã được yêu cầu. Trong ví dụ này, chữ số đầu tiên của mười hai ‘1’ cho GDL biết rằng đó là một chiếc giường đơn và chữ số thứ hai ‘2’ cho nó biết rằng chiếc giường thuộc loại rộng rãi. Lá cờ được sử dụng ở đây để quyết định cách bố trí gối. Trong các đối tượng phức tạp hơn, cờ rất quan trọng như một cách để ghi nhớ cấu hình. Trong mô hình xe hơi, cờ có thể nhớ loại xe, tay lái trái / phải, đèn bật / tắt, cửa đóng / mở, ghế có thể nhìn thấy / ẩn, hành khách có mặt, hướng đánh lái của bánh xe. ! Tính chiều rộng và cờ!Calculate widths and flagsIF A0.76 THEN wid=0.90:bed=12 ENDIF IF A>0.91 THEN wid=1.35:bed=21 ENDIF IF A>1.36THEN wid=1.50:bed=22 ENDIF HOTSPOT2 wid,0 HOTSPOT2 wid,len HOTSPOT2 wid/2,len/2

50

Object Making with ArchiCAD

Chapter 4: Practical Uses for GDL

These last few hotspots are placed at the actual corners of the bedas a result of the IF statements. Next, it is time to draw the actual bed object.Một vài điểm nóng cuối cùng này được đặt ở các góc thực tế của giường do kết quả của các câu lệnh IF. Tiếp theo, đó là thời gian để vẽ đối tượng giường thực tế. RECT2 0,0, wid,len !Main Bed shape !Pillows IF bed=11 OR bed=12 THEN !SingleADD2 wid/2, 0.2 RECT2 -0.35,-0.15, 0.35, 0.15 !pillow DEL 1 ENDIF IF bed=21 OR bed=22 THEN !DoubleADD2 wid/4, 0.2 RECT2 -0.32,-0.15, 0.32, 0.15 !pillow ADD2 wid/2, 0 RECT2 -0.32,-0.15, 0.32, 0.15 !pillow DEL 2 ENDIF We use the flag (11, 12, 21, 22) to decide how to lay out the pillows.Notice that by using OR, we can make the IF statement more interesting. We use the parameter of ‘wid’ to know where to place the pillow. In this case, we have a fixed size for pillows. Check by clicking on the 2D view frequently to see how the script is working. Chúng tôi sử dụng cờ (11, 12, 21, 22) để quyết định cách xếp gối. Lưu ý rằng bằng cách sử dụng OR, chúng ta có thể làm cho câu lệnh IF thú vị hơn. Chúng tôi sử dụng tham số là ‘wid’ để biết vị trí đặt gối. Trong trường hợp này, chúng tôi có một kích thước cố định cho gối. Kiểm tra bằng cách nhấp vào chế độ xem 2D thường xuyên để xem tập lệnh đang hoạt động như thế nào. You will notice that some lines of the script are indented. This makes it easier to read. Two good rules are to indent cursor movements, and to indent the lines following an IF... THENline. If you haven’t saved already, this is a good time to save.Bạn sẽ nhận thấy rằng một số dòng của script bị thụt vào. Điều này làm cho nó dễ đọc hơn. Hai quy tắc tốt là thụt lề các chuyển động của con trỏ và thụt lề các dòng sau dòng IF ... THEN. Nếu bạn chưa lưu, đây là thời điểm tốt để lưu.

Boolean choices – let the user decide Lựa chọn Boolean để người dùng quyết định We could add sophistication and user friendliness such as some turned down sheets and a head board. So create two parameters, and make them of the sort ‘Boolean’. This governs the making of abinary choice, an On/Off, Yes/No question. You get a tick box. Tick them in the ON condition. GDL sends the script a result ofzero (OFF) or one (ON). Lựa chọn Boolean - để người dùng quyết định Chúng tôi có thể thêm sự tinh tế và thân thiện với người

dùng chẳng hạn như một số tờ giấy lộn và một bảng đầu. Vì vậy, hãy tạo hai tham số và đặt chúng theo kiểu ‘Boolean’. Điều này chi phối việc thực hiện một lựa chọn nhị phân, một câu hỏi Bật / Tắt, Có / Không. Bạn nhận được một hộp đánh dấu. Đánh dấu chúng trong điều kiện BẬT. GDL gửi kịch bản kết quả bằng không (TẮT) hoặc một (BẬT).

Object Making with ArchiCAD

51

Chapter 4: Practical Uses for GDL

!Sheets IF shbk=1 THEN POLY2 4,1, !Poly2 is an alternativewid-0.4,0.4,! Poly2 là một widget thay thế-0,4,0,4, !to the cluster of LINE wid,0.8,! đến cụm tiện ích LINE, 0,8, !commands below! lệnh bên dưới wid-0.4,0.8, wid-0.4,0.4 ! LINE2 wid-0.4,0.4,wid,0.8 ! LINE2 wid-0.4,0.4,wid-0.4,0.8 ! LINE2 wid-0.4,0.8,wid,0.8 LINE2 0,0.4,wid-0.4,0.4 LINE2 0,0.6,wid-0.4,0.6ELSE LINE2 0,0.4, wid,0.4 LINE2 0,0.6, wid,0.6ENDIF !Headboard and HotspotsIF hdbd ! Đầu giường và điểm phát sóng NẾU hdbd THEN RECT2 0,0, 0.05,-0.05 RECT2 wid,0, wid-0.05,-0.05 RECT2 0.05,0.01,wid-0.05,-0.04HOTSPOT2 0,-0.05 HOTSPOT2 wid,-0.05ENDIF In the case of the ‘shbk’ flag, you ask if it equals one. Since these two flags ‘shbk’ and ‘hdbd’ can only be 0 or 1 (false or true), you can write in a simpler way as shown for ‘hdbd’. ‘IF hdbd THEN’ means that anything other than zero will be regarded as true.Trong trường hợp cờ ‘shbk’, bạn hỏi nó có bằng một không. Vì hai cờ ‘shbk’ và ‘hdbd’ này chỉ có thể là 0 hoặc 1 (false hoặc true), bạn có thể viết theo cách đơn giản hơn như được hiển thị cho ‘hdbd’. ‘IF hdbd THEN’ có nghĩa là bất kỳ điều gì khác 0 sẽ được coi là đúng. The outline of the turned sheet could either be written with a series of LINE2 statements, or you could try your hand at a POLY2 statement. You have to write the XY coordinates of the points of the polygon using parameters where possible, and you need to repeat the first point at the end of the XY list. This ensuresthat the polygon closes up. The POLY2 statement is followed by the number of points in the list, and a control code of 1 (to draw the lines). A POLY2is cleaner code in that it can write many or allof the lines you need in the one command.Đường viền của tờ giấy đã lật có thể được viết bằng một loạt câu lệnh LINE2 hoặc bạn có thể thử với câu lệnh POLY2. Bạn phải viết tọa độ XY của các điểm của đa giác bằng cách sử dụng các tham số nếu có thể và bạn cần lặp lại điểm đầu tiên ở cuối danh sách XY. Điều này đảm bảo rằng đa giác đóng lại. Theo sau câu lệnh POLY2 là số điểm trong danh sách và mã điều khiển là 1 (để vẽ các đường). POLY2 là mã sạch hơn ở chỗ nó có thể viết nhiều hoặc tất cả các dòng bạn cần trong một lệnh.

If curiosity has not already driven you to try this, save the bed object, place it in the floor plan, and practice stretching it, backwards and forwards. See how it snaps from one size to another. You could elaborate it further, giving the mattress rounded corners (with ARC2), adding a footboard, and perhaps adding a tiny circle at the most important stretchy hotspot to makeit easier to pick up. This is like a small joystick or 2D cursor.Nếu sự tò mò vẫn chưa thúc đẩy bạn thử cách này, hãy cất đồ vật trên giường, đặt nó vào sơ đồ mặt bằng và thực hành kéo căng nó, về phía sau và về phía trước. Xem cách nó chuyển từ kích thước này sang kích thước khác. Bạn có thể trau chuốt thêm, tạo các góc bo tròn cho nệm (với ARC2), thêm bàn chân và có thể thêm một vòng tròn nhỏ tại điểm nóng co giãn quan trọng nhất để dễ dàng lấy nệm hơn. Điều này giống như một cần điều khiển nhỏ hoặc con trỏ 2D.

52

Object Making with ArchiCAD

Chapter 4: Practical Uses for GDL

CIRCLE2 A,0,0.01 Note that we have not set Pen color here as the user can do that inthe settings box. The bed-object is transparent – you can see otherobjects below it – but you could try making opaque ones with fill patterns in later 2D scripts for which you certainly need POLY2. Lưu ý rằng chúng tôi chưa đặt Màu bút ở đây vì người dùng có thể thực hiện điều đó trong hộp cài đặt. Đối tượng giường trong suốt - bạn có thể nhìn thấy các đối tượng khác bên dưới nó nhưng bạn có thể thử tạo các đối tượng mờ đục với các mẫu tô trong các tập lệnh 2D sau này mà bạn chắc chắn cần POLY2.

Summary of GDL in this section Tóm tắt về GDL trong phần này – Useful 2D objects can be written entirely in GDL.Các đối tượng 2D hữu ích có thể được viết hoàn toàn bằng GDL. – The range of 2D GDL commands is small and simple. – IFstatements are the first step to making an object ‘Smart’.Dãy các lệnh GDL 2D nhỏ và đơn giản. – Câu lệnh –IF là bước đầu tiên để làm cho một đối tượng trở nên ‘Thông minh’. – Not all rules and choices need be in the user’s parameter box.Some rules can be “manufacturer’s rules”.Không phải tất cả các quy tắc và lựa chọn đều cần có trong hộp tham số của người dùng. Một số quy tắc có thể là "quy tắc của nhà sản xuất". – If the answer to a user’s question is ON or OFF, then use aBoolean parameter.Nếu câu trả lời cho câu hỏi của người dùng là BẬT hoặc TẮT, thì hãy sử dụng tham số Boolean. – Stretchy Hotspots should be written before the object.Stretchy Hotspots nên được viết trước đối tượng. – Flags can be used to store characteristics of the object.Thẻ có thể được sử dụng để lưu trữ các đặc điểm của đối tượng – A Polygon is ‘cleaner code’ than a mass of lines and allows 2D objects to be opaque.Một Đa giác là 'mã sạch hơn' so với một khối lượng các đường và cho phép các đối tượng 2D không bị mờ.

4.2 Let’s make a 3D Door Hãy làm một cánh cửa 3D We made a window earlier using the Slab tool. If this window is stretched, the frame will be distorted. You need GDL to build a window that will stretch but retain correct frame dimensions. WithGDL you can also build in smart features like glazing bar options, ironwork, etc. A door is very similar to a window in the way it ismade, so let’s try one, and make it possible to open and shut thedoor.Chúng tôi đã tạo một cửa sổ trước đó bằng công cụ Slab. Nếu cửa sổ này bị kéo căng, khung sẽ bị méo. Bạn cần GDL để tạo một cửa sổ sẽ kéo dài nhưng vẫn giữ được kích thước khung hình chính xác. Với GDL, bạn cũng có thể tích hợp các tính năng thông minh như

tùy chọn thanh kính, đồ sắt, v.v. Một cánh cửa rất giống với cửa sổ theo cách nó được tạo ra, vì vậy hãy thử một cái để có thể mở và đóng cửa. Remember, the primary rule about doors/windows is that they should be built flat on the floor, and that the floor surface – the XYplane – represents the external face of the wall that the window/ door will fit into. ‘A’ represents the width of the door and ‘B’ will be the height of the door – when it is upright in a Wall.Hãy nhớ rằng, quy tắc cơ bản về cửa ra vào / cửa sổ là chúng phải được xây dựng bằng phẳng trên sàn và bề mặt sàn mặt phẳng XY - đại diện cho mặt ngoài của bức tường mà cửa sổ / cửa ra vào sẽ phù hợp. ‘A’ đại diện cho chiều rộng của cửa và ‘B’ sẽ là chiều cao của cửa - khi nó thẳng đứng trong Tường. From ArchiCAD, choose File>New Library Part>Door. (Note that you can build the door as an Object first and transform into a Doorlater.) We will build this door with BLOCK, because it is easy to use. We will not bother with rebates at this stage. Once you are more confident with GDL you can add in these refinements. One thing we will do with this exercise is to make a simple pop-upmenu – the key to making GDL objects VERY user friendly.Từ ArchiCAD, chọn Tệp> Phần Thư viện Mới> Cửa. (Lưu ý rằng bạn có thể xây dựng cánh cửa dưới dạng Vật thể trước và biến đổi thành Cánh cửa sau đó.) Chúng tôi sẽ xây dựng cánh cửa này bằng BLOCK, vì nó rất dễ sử dụng. Chúng tôi sẽ không bận tâm với các khoản giảm giá ở giai đoạn này. Khi bạn đã tự tin hơn với GDL, bạn có thể bổ sung các sàng lọc này. Một điều chúng ta sẽ làm với bài tập này là tạo một menu bật lên đơn giản - chìa khóa để làm cho các đối tượng GDL RẤT thân thiện với người dùng.

Object Making with ArchiCAD

53

Chapter 4: Practical Uses for GDL

Build the door frame Dựng khung cửa First make some parameters for frame width, frame depth and frame material. In this example, the parameter box is working in millimeters. Use whatever suits you, but remember – scripts are ‘hard coded’. If they are not parametric, they must be in meters (orin imperial with foot and inch signs). Then type in a simple script for the frame. Đầu tiên hãy tạo một số thông số về chiều rộng khung hình, chiều sâu khung hình và chất liệu khung hình. Trong ví dụ này, hộp tham số đang hoạt động tính bằng milimét. Hãy sử dụng bất kỳ thứ gì phù hợp với bạn, nhưng hãy nhớ - các tập lệnh là 'mã cứng'. Nếu chúng không phải là tham số, chúng phải được tính bằng mét (hoặc theo hệ Anh với các ký hiệu foot và inch). Sau đó, nhập một tập lệnh đơn giản cho khung.

!Simple Door !Frame MATERIAL fmat ADDx -A/2 BLOCK fwid,B,fdep !left frame stileDEL 1 ADDx A/2-fwid BLOCK fwid,B,fdep !right frame stileDEL 1 ADD -A/2,B-fwid,0 BLOCK A,fwid,fdep !door head DEL 1 If you know precisely what door you want and how big it is, you may be tempted to write it out in dimensions, not parameters. Butwhen you get more committed to the idea of your objects being ‘investment objects’, you will always prefer to write in parametersthan in dimensions.Nếu bạn biết chính xác cánh cửa bạn muốn và độ lớn của nó, bạn có thể bị cám dỗ để viết nó ra bằng kích thước chứ không phải thông số. Nhưng khi bạn cam kết hơn với ý tưởng về các đối tượng của bạn là "đối tượng đầu tư", bạn sẽ luôn thích viết bằng tham số hơn là kích thước. BLOCK is always built from the near left corner, so when you move the 3D cursor, you need to make adjustments, by deductingthe frame width. It is easier if you make each part of the frame anduse DELto get back to the origin before doing the next part.BLOCK luôn được xây dựng từ góc gần bên trái, vì vậy khi bạn di chuyển con trỏ 3D, bạn cần thực hiện các điều chỉnh, bằng cách trừ đi chiều rộng khung. Sẽ dễ dàng hơn nếu bạn tạo từng phần của khung và sử dụng DEL để quay lại điểm gốc trước khi thực hiện phần tiếp theo.

54

Object Making with ArchiCAD

Chapter 4: Practical Uses for GDL

Now make the door Now you can add in parameters for the door – thickness, material, and opening angles. It is useful to have 2D and 3D opening angles independent. Bây giờ bạn có thể thêm các thông số cho cửa - độ dày, vật liệu và góc mở. Sẽ rất hữu ích nếu có các góc mở 2D và 3D độc lập.

Object Making with ArchiCAD

!Door IF dang390 THEN dang3=90 LET dwid=A-fwid*2 !Door width LET dhit=B-fwid !Door height MATERIAL dmat ADDx dwid/2 !Move to right hand frameROTy 180-dang3 !Rotate door ADDz -dthk !Settle it into rebateBLOCK dwid,dhit,dthk DEL 3 It is a good idea to keep the BLOCK command simple by defining the value of Door width and Door height beforehand. This is not important for the simple flush door – but it makes life much easier if you want to make a panelled door later.Bạn nên giữ lệnh BLOCK đơn giản bằng cách xác định trước giá trị của Chiều rộng cửa và Chiều cao cửa. Điều này không quan trọng đối với cửa xếp đơn giản - nhưng nó giúp cuộc sống dễ dàng hơn nhiều nếu sau này bạn muốn làm cửa có vách ngăn. The use of the LET command is voluntary. If you write ‘dwid=Afwid*2’ that is not a matter of fact – it is a Command for ‘dwid’ to have a new value. By putting LET in front of it, you are making itplain that you are issuing a command. The GDL interpreter is not worried whether you use LET or not – but it is easier for the human reader to understand it. If you were to read the script aloud, you would pronounce the equal sign (=) as ‘become’, as in‘LET dhit become B-fwid’.Việc sử dụng lệnh LET là tự nguyện. Nếu bạn viết ‘dwid = A- fwid * 2’ thì đó không phải là vấn đề thực tế - đó là Lệnh để ‘dwid’ có giá trị mới. Bằng cách đặt LET trước nó, bạn đang làm cho nó rõ ràng rằng bạn đang ra một lệnh. Trình thông dịch GDL không lo lắng về việc bạn có sử dụng LET hay không - nhưng người đọc con người sẽ hiểu nó dễ dàng hơn. Nếu bạn đọc to đoạn script, bạn sẽ phát âm dấu bằng (=) là ‘trở thành’, như trong ‘LET dhit trở thành B-fwid’. The door needs to hinge off one frame. It is a house rule in GDL that doors hinge off the right-hand frame unless they are mirrored.For the door to hinge correctly, you must move the 3D cursor to the right hand frame and build the door from that point. This is much more complicated than doing it from the left frame because the BLOCK command always grows in a rightward direction. To hang correctly, this door needs to

appear to be growing in a leftward direction. Therefore, rotate it by ‘dang3’, and it will growout through the frame in diametrically the wrong direction. Now add 180˚ to the angle so it becomes a rotation of ‘180-dang3’ and it finishes in the right direction. You have to learn little tricks like thiswhen using GDL. Play with the angles to understand this process. You need one small ADDZto let the door ‘sink’ into the rebate.Cánh cửa cần phải thoát ra khỏi một khung. Quy tắc gia đình trong GDL là cửa xoay ra khỏi khung bên phải trừ khi chúng được phản chiếu. Để cánh cửa có bản lề chính xác, bạn phải di chuyển con trỏ 3D sang khung bên phải và xây dựng cánh cửa từ điểm đó. Điều này phức tạp hơn nhiều so với thực hiện từ khung bên trái vì lệnh BLOCK luôn phát triển theo hướng sang phải. Để treo đúng cách, cánh cửa này cần phải phát triển theo hướng bên trái. Do đó, hãy xoay nó theo ‘-dang3’, và nó sẽ phát triển qua khung theo đường kính theo hướng sai. Bây giờ, hãy thêm 180˚ vào góc để nó trở thành một vòng quay ‘180-dang3’ và nó kết thúc theo đúng hướng. Bạn phải học những thủ thuật nhỏ như thế này khi sử dụng GDL. Chơi với các góc độ để hiểu quá trình này. Bạn cần một ADDZ nhỏ để cho cánh cửa "chìm" vào khoản giảm giá.

55

Chapter 4: Practical Uses for GDL

When the door is in a wall, you will be able to use the Mirror or Rotate function to change the way it will turn. In a later chapter, we will make elements using PRISM, and you would not have to do such mental gymnastics with PRISM– because you can make itgrow in a leftward direction from the hinging edge.Khi cửa ở trong tường, bạn sẽ có thể sử dụng chức năng Gương hoặc Xoay để thay đổi cách quay của cửa. Trong chương sau, chúng tôi sẽ tạo các yếu tố bằng cách sử dụng PRISM và bạn sẽ không phải thực hiện các bài tập thể dục tinh thần như vậy với PRISM - bởi vì bạn có thể làm cho nó phát triển theo hướng trái từ rìa bản lề. It is the IFstatement that allows GDL to be smart, so for a door, thefirst smart thing we can do is to stop the door being turned so that the hinge would break. GDL models do not have gravity or collision protection, so some error correcting IF statements will save your door from ‘breaking’. Below is the door in 3D, half open.It is still on the ground, but will be upright when placed in a wall.Đó là câu lệnh IF cho phép GDL thông minh, vì vậy đối với một cánh cửa, điều thông minh đầu tiên chúng ta có thể làm là ngăn cánh cửa bị xoay để bản lề bị gãy. Các mô hình GDL không có khả năng bảo vệ trọng lực hoặc va chạm, vì vậy một số câu lệnh IF sửa lỗi sẽ giúp cửa của bạn không bị ‘vỡ’. Dưới đây là cánh cửa ở dạng 3D, mở một nửa. Nó vẫn nằm trên mặt đất, nhưng sẽ thẳng đứng khi được đặt vào tường.

The Door needs a 2D symbol Cửa cần có biểu tượng 2D Before you can place it in the ArchiCAD environment, you need togive the door a 2D symbol. Firstly, it is easiest to use the PROJECT2 command to generate the symbol. The syntax is PROJECT2 view_type, camera_angle, drawing_method.Trước khi bạn có thể đặt nó trong môi trường ArchiCAD, bạn cần đặt cho cánh cửa một biểu tượng 2D. Đầu tiên, cách dễ nhất là sử dụng lệnh PROJECT2 để tạo biểu tượng. Cú pháp là PROJECT2 view_type, camera_angle, draw_method. Remember that PROJECT2tells GDL to draw in 2D whatever it finds in 3D. Please check in the corresponding chapter of the GDLReference Guide and you will see that PROJECT2 is remarkably versatile, allowing you to choose a viewtype that sees the object ina huge variety of angles – plan, elevation and various forms of axonometric. The camera angle is normally 270˚ for objects, and 90˚ for door/window objects. The drawing method is either wireline(1) or hidden line analytic(2).

The PROJECT2 we used for the simple chair drew the chair in Plan. For a door or window we need to draw a view of the door asif the camera was placed at 90 degrees and viewing the doorset in Elevation, looking at the head of the window. It also needs to viewthe doorhead so that the external wall is the top of the drawing.Hãy nhớ rằng PROJECT2 yêu cầu GDL vẽ ở dạng 2D bất cứ thứ gì nó tìm thấy ở dạng 3D. Vui lòng kiểm tra chương tương ứng của Hướng dẫn Tham khảo GDL và bạn sẽ thấy rằng PROJECT2 rất linh hoạt, cho phép bạn chọn một kiểu xem có thể nhìn thấy đối tượng ở nhiều góc độ khác nhau - mặt bằng, độ cao và các dạng axonometric khác nhau. Góc camera thông thường là 270˚ đối với các đối tượng và 90˚ đối với các đối tượng cửa / cửa sổ. Phương pháp vẽ là phân tích đường thẳng (1) hoặc đường ẩn (2). PROJECT2 mà chúng tôi đã sử dụng cho chiếc ghế đơn giản đã vẽ chiếc ghế trong Kế hoạch. Đối với cửa ra vào hoặc cửa sổ, chúng ta cần vẽ khung nhìn của cửa như thể máy ảnh được đặt ở góc 90 độ và xem bộ cửa ở Độ cao, nhìn vào đầu cửa sổ. Nó cũng cần xem đầu cửa sao cho bức tường bên ngoài là đỉnh của bản vẽ.

56

Object Making with ArchiCAD

Chapter 4: Practical Uses for GDL

!Simple Doorset 2D script ROT2 180 !turns camera the right way upPROJECT2 4,90,1 !views side view from 90˚ DEL 1 !back to origin The ROT2command turns the camera the right way up. Then thePROJECT2 command draws the doorset, and by doing it in wireframe, the frame is clearly visible. Lệnh ROT2 quay máy ảnh lên đúng hướng. Sau đó, lệnh PROJECT2 vẽ bộ cửa và bằng cách thực hiện nó trong khung dây, khung được nhìn thấy rõ ràng.

Make sure the door works Đảm bảo cửa hoạt động If you haven’t already saved, this is the time to save. The door will be saved as a .DOR file. If you built the door as a .GSM object file, go to File>OpenLibrary Part>Open Object as Door, and then save;it will now be a door.Nếu bạn chưa lưu, đây là lúc để lưu. Cửa sẽ được lưu dưới dạng tệp .DOR. Nếu bạn đã tạo cửa dưới dạng tệp đối tượng .GSM, hãy đi tới Tệp> Phần OpenLibrary> Mở Đối tượng dưới dạng Cửa, rồi lưu; bây giờ nó sẽ là một cánh cửa. Return to the ArchiCAD project floor plan, draw a wall. Click on theDoor tool and place your new door. The one you have just saved will be the first door that gets placed. Check that it works in 3D view. Try altering its settings. You can move the frame in and out ofthe opening. You can open and shut the door. You will find that only the 3D doorswing is working. We haven’t written the 2D yet.Quay lại sơ đồ mặt bằng dự án ArchiCAD, vẽ mặt tường. Nhấp vào công cụ Cửa và đặt cánh cửa mới của bạn. Cái bạn vừa lưu sẽ là cánh cửa đầu tiên được đặt. Kiểm tra xem nó có hoạt động ở chế độ xem 3D không. Hãy thử thay đổi cài đặt của nó. Bạn có thể di chuyển khung vào và ra khỏi lỗ mở. Bạn có thể mở và đóng cửa. Bạn sẽ thấy rằng chỉ có cánh cửa 3D đang hoạt động. Chúng tôi chưa viết 2D. You may also wonder how the hole in the wall is drilled. GDL cutsa rectangular hole in the wall, ‘A’ in width and ‘B’ in height. Whenyou get further with GDL, you will find out how to cut holes of more interesting shapes using the WALLHOLE command.Bạn cũng có thể thắc mắc làm thế nào lỗ trên tường được khoan. GDL cắt một lỗ hình chữ nhật trên tường, chiều rộng là ‘A’ và chiều cao là ‘B’. Khi bạn tiến xa hơn với GDL, bạn sẽ tìm ra cách cắt các lỗ có hình dạng thú vị hơn bằng cách sử dụng lệnh WALLHOLE.

Improve the 2D performance of the door Cải thiện hiệu suất 2D của cửa

Object Making with ArchiCAD

With PROJECT2, the 2D symbol can only show what the 3D object is doing, and for more powerful work, we would like to show the doorswing differently between 2D and 3D. In plan drawing, architects usually draw a doorswing in the open position,but in 3D modelling, it is often desired to leave the door shut. Với PROJECT2, biểu tượng 2D chỉ có thể hiển thị đối tượng 3D đang làm gì và để làm việc hiệu quả hơn, chúng tôi muốn hiển thị các cánh cửa khác nhau giữa 2D và 3D. Trong bản vẽ mặt bằng, kiến trúc sư thường vẽ một cánh

cửa ở vị trí mở, nhưng trong mô hình 3D, người ta thường muốn cánh cửa đóng lại. !Simple Door !ROT2 180 !these commands disabled ! các lệnh này bị vô hiệu hóa !PROJECT2 4,90,1 !but retained as comments ! nhưng được giữ lại dưới dạng nhận xét !DEL 1 !Frame ADD2 -A/2,0 RECT2 0,0,fwid,-fdep !left stileDEL 1 ADD2 A/2,0 RECT2 0,0,-fwid,-fdep !right stileDEL 1

57

Chapter 4: Practical Uses for GDL

!Door IF dang290 THEN dang2=90 dwid=A-fwid*2 !Door widthADD2 dwid/2,0 ROT2 180-dang2 RECT2 0,0,dwid,dthk ARC2 0,0,dwid,0,dang2DEL 2 Whenever you can, use the same algorithm as in the 3D script – itmay make the script longer, but it’s easier to write. Start with the frames, and finish with the script for the door – using the same little 180˚ trick used to get the door to swing the right way.Bất cứ khi nào bạn có thể, hãy sử dụng thuật toán tương tự như trong tập lệnh 3D - nó có thể làm cho tập lệnh dài hơn nhưng dễ viết hơn. Bắt đầu với các khung và kết thúc với kịch bản cho cánh cửa - sử dụng cùng một mẹo nhỏ 180˚ được sử dụng để giúp cánh cửa xoay đúng cách. Because we want to be sure this is correct, we keep the PROJECT2 command working and visible. Indeed, if you write in a temporary Pen color (e.g., PEN 1in front of the PROJECT2 andPEN 10 in front of the rest of the script), the different pen colors will show the 2D symbol building up. Because we are looking at the door from the 90˚ camera angle, the frames end up in the ‘negative-Y’ side. So, most Y values in the script are minus. Where you had BLOCK, you replace it with RECT2. Where you had ADD, you replace it with ADD2. Where you had ‘dang3’ you replace with‘dang2’.Bởi vì chúng tôi muốn chắc chắn rằng điều này là chính xác, chúng tôi giữ cho lệnh PROJECT2 hoạt động và hiển thị. Thật vậy, nếu bạn viết bằng Màu bút tạm thời (ví dụ: PEN 1 ở phía trước PROJECT2 và PEN 10 ở phía trước phần còn lại của tập lệnh), các màu bút khác nhau sẽ hiển thị ký hiệu 2D đang hình thành. Bởi vì chúng tôi đang nhìn vào cửa từ góc máy ảnh 90,, các khung hình kết thúc ở phía ‘âm-Y’. Vì vậy, hầu hết các giá trị Y trong tập lệnh là số trừ. Trường hợp bạn có BLOCK, bạn thay thế nó bằng RECT2. Trường hợp bạn đã ADD, bạn thay thế nó bằng ADD2. Nơi bạn có ‘dang3’, bạn thay thế bằng ‘dang2’. When you have finished working, you can convert the PROJECT2 routine into a series of comments. Remove the PEN commands. Leave these to the user to supply in the settings box of the door. Khi bạn làm việc xong, bạn có thể chuyển đổi PROJECT2 thường xuyên thành một loạt các bình luận. Loại bỏ các lệnh PEN. Để những thứ này cho người dùng cung cấp trong hộp cài đặt của cửa. Save the Door object, return to the floor plan and admire yourhandiwork. You should now be able to set different opening angles for 2D and 3D. Lưu đối tượng Cửa, quay lại sơ đồ mặt bằng và chiêm ngưỡng tác phẩm thủ công của bạn. Bây giờ bạn có thể đặt các góc mở khác nhau cho 2D và 3D.

Scale Sensitive 2D symbol – with Global Variables Biểu tượng 2D nhạy cảm với tỷ lệ - với các biến toàn cầu

Architects also like 2D objects to be scale sensitive. At 1:100, the door may be a line, and the frame a simple shape, at 1:20, the doorshould be shown in detail, with a rebated doorframe. It is possible for the GDL object to know the current scale of the drawing and tochange accordingly. Các kiến trúc sư cũng thích các đối tượng 2D nhạy cảm với tỷ lệ. Ở tỷ lệ 1: 100, cánh cửa có thể là một đường thẳng và khung có hình dạng đơn giản, ở tỷ lệ 1:20, cánh cửa phải được thể hiện chi tiết, với khung cửa được làm lại. Đối tượng GDL có thể biết tỷ lệ hiện tại của bản vẽ và thay đổi cho phù hợp. ArchiCAD keeps an active memory of everything that is going on in the current project. GDL can interrogate this memory and makeuse of it. The current Drawing Scale, the current Northpoint, the object’s position in the Floor plan, the current Story, the current Wall thickness, etc. These ‘Global Variables’ are described in Appendix A of the GDL Reference Manual.ArchiCAD lưu giữ một bộ nhớ hoạt động về mọi thứ đang diễn ra trong dự án hiện tại. GDL có thể thẩm vấn bộ nhớ này và sử dụng nó. Tỷ lệ bản vẽ hiện tại, điểm Bắc hiện tại, vị trí của đối tượng trong Sơ đồ tầng, Câu chuyện hiện tại, độ dày của tường hiện tại, v.v. Những 'Biến toàn cục' này được mô tả trong Phụ lục A của Sổ tay Tham khảo GDL.

58

Object Making with ArchiCAD

Chapter 4: Practical Uses for GDL

Let’s just consider drawing scale. This is called GLOB_SCALE or A_(A-underscore) for short. If the drawing is 1:100, A_will be 100. If it is 1/8 inch to 1 foot, it will be 96. So we can design a better shape for the doorframe that will look detailed at 1:50 or larger. Let’s assume that the rebate is 12 mm. You can now write apolygon to draw a realistic looking door frame. Polygons (and Prisms in 3D) are hard work, but if you sketch them out first, and think in terms of parameters, it is not so difficult.Hãy chỉ xem xét tỷ lệ bản vẽ. Đây được gọi là GLOB_SCALE hoặc A_ (A-gạch dưới) viết tắt. Nếu hình vẽ là 1: 100, A_ sẽ là 100. Nếu nó là 1/8 inch đến 1 foot, nó sẽ là 96. Vì vậy, chúng tôi có thể thiết kế một hình dạng tốt hơn cho khung cửa trông chi tiết ở tỷ lệ 1:50 hoặc lớn hơn. Giả sử rằng mức giảm giá là 12 mm. Bây giờ bạn có thể viết một đa giác để vẽ một khung cửa trông thực tế. Đa giác (và Lăng kính trong 3D) là công việc khó khăn, nhưng nếu bạn phác thảo chúng trước và suy nghĩ về các thông số, thì nó không quá khó. !Simple Door - 2D script !ROT2 180 !these commands disabled !PROJECT2 4,90,1 !but retained as comments !DEL 1 !Frame ADD2 -A/2,0 LET rb=0.012 !RebateIF GLOB_SCALE>51 THEN RECT2 0,0,fwid,-fdep !left stile simpleELSE POLY2 7,5, !left stile complex0,0, 0,-fdep, fwid+rb,fdep,fwid+rb,-dthk, fwid,-dthk, fwid,0, 0,0 ENDIF DEL 1 ADD2 A/2,0 IF GLOB_SCALE>51 THEN RECT2 0,0,-fwid,-fdep !right stile simpleELSE POLY2 7,5, !right stile complex0,0, 0,-fdep, -fwid-rb,-fdep, -fwid-rb,-dthk, -fwid,-dthk, -fwid,0,0,0 ENDIF DEL 1

Object Making with ArchiCAD

59

Chapter 4: Practical Uses for GDL

As you work through this, have the 2D View window open, and keep checking that the frames are turned the right way. You can change the current scale by activating the scale button at the bottom left of the 2D View window. You can now finish by providing an alternative symbol for the door itself – the rectanglecan now be used for 1:50 or larger, and a simple line for smaller drawing scales.Khi bạn làm việc này, hãy mở cửa sổ Chế độ xem 2D và tiếp tục kiểm tra xem các khung có được xoay đúng cách hay không. Bạn có thể thay đổi tỷ lệ hiện tại bằng cách kích hoạt nút tỷ lệ ở dưới cùng bên trái của cửa sổ Chế độ xem 2D. Bây giờ bạn có thể hoàn thành bằng cách cung cấp một biểu tượng thay thế cho chính cánh cửa - hình chữ nhật hiện có thể được sử dụng cho 1:50 hoặc lớn hơn và một đường đơn giản cho tỷ lệ bản vẽ nhỏ hơn. !Door IF dang290 THEN dang2=90 dwid=A-fwid*2 !Door width ADD2 dwid/2,0 !Move to right hand frameROT2 180-dang2 !Hinge the door IF GLOB_SCALE>51 THEN LINE2 0,0,dwid,0 !Simple line ELSE RECT2 0,0,dwid,dthk !RectangleENDIF ARC2 0,0,dwid,0,dang2 !Door swingDEL 2

Master Script is useful here Master Script rất hữu ích ở đây Notice again that you have to tell it again what ‘dwid’ (door width)is. This is because 2D and 3D scripts do not talk to each other. If you placed values for ‘rb’ (rebate), ‘dwid’ (door width) and the error correcting routines into the Master Script, this could save yousome typing, centralize some of your fixed parameters, and informboth the 2D and the 3D scripts of the correct values.Lưu ý một lần nữa rằng bạn phải nói lại cho nó biết ‘dwid’ (chiều rộng cửa) là gì. Điều này là do các kịch bản 2D và 3D không nói chuyện với nhau. Nếu bạn đã đặt các giá trị cho 'rb' (giảm giá), 'dwid' (chiều rộng cửa) và quy trình sửa lỗi vào Master Script, điều này có thể giúp bạn tiết kiệm một số thao tác nhập, tập trung một số thông số cố định của bạn và thông báo cho cả 2D và Tập lệnh 3D của các giá trị chính xác.

Build a pop-up menu with the VALUES command Xây dựng menu bật lên bằng lệnh VALUES

For the 3D object door object, you would like to have a choice ofdoor styles, but how does one ask the user? In the days of ArchiCAD 5.0, one had to have style 1, style 2, etc. Now you can create a pop-up menu that allows the user to choose by name. Đối với đối tượng cửa vật thể 3D, bạn muốn có sự lựa chọn về kiểu dáng cửa, nhưng làm thế nào để người dùng yêu cầu? Trong những ngày của ArchiCAD 5.0, người ta phải có kiểu 1, kiểu 2, v.v. Bây giờ bạn có thể tạo menu bật lên cho phép người dùng chọn theo tên. You can even have a visual display that shows each door as a picture. You must have noticed this in the new Door objects in theArchiCAD 6.5 door library.Bạn thậm chí có thể có một màn hình hiển thị trực quan hiển thị mỗi cánh cửa như một bức tranh. Bạn hẳn đã nhận thấy điều này trong các đối tượng Cửa mới trong thư viện cửa ArchiCAD 6.5. We can make a start here by offering a simple choice of a solid ora panelled door.Chúng ta có thể bắt đầu ở đây bằng cách đưa ra một sự lựa chọn đơn giản là cửa đặc hoặc cửa ốp. First make a new parameter. Let’s call it ‘doortyp’. As the pop-up menu will offer a choice of door styles in words, select the parameter type ‘Abc’ which will be for text. Make a new parameterfor panelling material, called ‘panmat’.Đầu tiên hãy tạo một tham số mới. Hãy gọi nó là 'doortyp'. Vì menu bật lên sẽ cung cấp lựa chọn kiểu cửa bằng từ, hãy chọn loại tham số ‘Abc’ sẽ dành cho văn bản. Tạo một tham số mới cho vật liệu ốp, được gọi là 'panmat'.

60

Object Making with ArchiCAD

Chapter 4: Practical Uses for GDL

Now go to the Parameters Script. This is where you build pop-upmenus. Type in a VALUES command, starting with the name of the parameter (in quotes), followed by a list of the menu choices(also in quotes). Separate the choices by commas. Bây giờ hãy chuyển đến Tập lệnh tham số. Đây là nơi bạn xây dựng các menu bật lên. Nhập lệnh VALUES, bắt đầu bằng tên của tham số (trong dấu ngoặc kép), sau đó là danh sách các lựa chọn menu (cũng trong dấu ngoặc kép). Phân tách các lựa chọn bằng dấu phẩy. VALUES ‘doortyp’ ‘Flush Door’, ‘Panelled Door’

It may take a few seconds for GDL to notice, but after a while, ‘doortyp’ will realize that it has a pop-up menu and will allow youto choose one or the other. The little triangular symbol will appearat the right of the parameter entry. As the choice of door style is one of the most important parameters of the door, you could clickon the ‘Bold’ button to make the font heavier, and you could use the little arrows at the left to push the parameter to the top of the list. Then you should make a parameter for Panelling Material.Có thể mất vài giây để GDL nhận thấy, nhưng sau một lúc, ‘doortyp’ sẽ nhận ra rằng nó có một menu bật lên và sẽ cho phép bạn chọn cái này hoặc cái kia. Biểu tượng hình tam giác nhỏ sẽ xuất hiện ở bên phải của mục nhập tham số. Vì lựa chọn kiểu cửa là một trong những thông số quan trọng nhất của cửa, bạn có thể nhấp vào nút 'In đậm' để làm cho phông chữ nặng hơn và bạn có thể sử dụng các mũi tên nhỏ ở bên trái để đẩy thông số lên đầu danh sách. Sau đó, bạn nên tạo một tham số cho Paneling Material. This pop-up menu brings two major benefits – the object is more user friendly and it is impossible for the user to make a spelling error or choose a silly option. Before we get too confident, we have to put this pop-up menu to good use. Return to the 3D scriptand make the choice work.Menu bật lên này mang lại hai lợi ích chính - đối tượng thân thiện hơn với người dùng và người dùng không thể mắc lỗi chính tả hoặc chọn một tùy chọn ngớ ngẩn. Trước khi quá tự tin, chúng ta phải đưa menu bật lên này để sử dụng tốt. Quay lại kịch bản 3D và thực hiện lựa chọn hoạt động.

Object Making with ArchiCAD

61

Chapter 4: Practical Uses for GDL

You only need a simple IFstatement to help the 3D Script decide which door to display. Let’s take the original 3D text for the door and add in the IF-statements and build a script for a panelled door.Bạn chỉ cần một câu lệnh IF đơn giản để giúp 3D Script quyết định cửa nào sẽ hiển thị. Hãy lấy văn bản 3D ban đầu cho cánh cửa và thêm vào các câu lệnh IF và xây dựng một tập lệnh cho một cánh cửa được ốp. !Door - 3D Script IF dang390 THEN dang3=90 dwid=A-fwid*2 !Door width dhit=Bfwid !Door height MATERIAL dmat ADDx dwid/2 !Move to right hand frameROTy 180-dang3 !Rotate door ADDz -dthk !Settle it into rebate IF doortyp='Flush Door' THENBLOCK dwid,dhit,dthk ENDIF IF doortyp='Panelled Door' THENBLOCK dwid/6,dhit,dthk !Left ADDx dwid*5/6 BLOCK dwid/6,dhit,dthk !RightDEL 1 ADD dwid/6,dhit-dwid/6,0 BLOCK dwid*4/6,dwid/6,dthk !ToprailDEL 1 ADDx dwid/6 BLOCK dwid*4/6,dwid/4,dthk !FootrailDEL 1 MATERIAL panmat ADD dwid/6,dwid/4,dthk/4 BLOCK dwid*4/6,dhit-dwid/4-dwid/6,dthk/2DEL 1 ENDIF DEL 3 If you are sharp eyed, you will look at the script above and see that we could simply have used IF... ELSE... ENDIF, because we only have a choice of two styles. And you are right. This is a simple door; but when you build doors for actual use, you may wish to have five or six styles. Some of the door style choices in the ArchiCAD library run well into double figures. It iseasier to have separate IF-statements for each choice.Nếu bạn là người tinh mắt, bạn sẽ nhìn vào đoạn script ở trên và thấy rằng chúng ta có thể đơn giản sử dụng IF ... ELSE ... ENDIF, bởi vì chúng ta chỉ có hai kiểu lựa chọn. Và bạn nói đúng không. Đây là một cánh cửa đơn giản; nhưng khi bạn xây dựng cửa để sử dụng thực tế, bạn có thể muốn có năm hoặc sáu kiểu. Một số lựa chọn kiểu cửa trong thư viện ArchiCAD chạy tốt thành các con số kép. Sẽ dễ dàng hơn nếu có các câu lệnh IF riêng biệt cho mỗi lựa chọn. You may also wonder how the script arrived at dividing the door width into sixths, to arrive at the sizes of the vertical door sections,compared with the panel size. This is another example of Manufacturer’s rules. One manufacturer may have

several ways ofproportioning their doors. You may need a style for each one.Nếu bạn là người tinh mắt, bạn sẽ nhìn vào đoạn script ở trên và thấy rằng chúng ta có thể đơn giản sử dụng IF ... ELSE ... ENDIF, bởi vì chúng ta chỉ có hai kiểu lựa chọn. Và bạn nói đúng không. Đây là một cánh cửa đơn giản; nhưng khi bạn xây dựng cửa để sử dụng thực tế, bạn có thể muốn có năm hoặc sáu kiểu. Một số lựa chọn kiểu cửa trong thư viện ArchiCAD chạy tốt thành các con số kép. Sẽ dễ dàng hơn nếu có các câu lệnh IF riêng biệt cho mỗi lựa chọn. Finally, a door is incomplete without its ironwork, but that is beyond the scope of this chapter. It could be scripted in with thedoor, or if you had a set of door handles already built, it could bebrought in as another object, using the CALL command, and placed in the correct position on the door Cuối cùng, một cánh cửa không hoàn thiện nếu không có đồ sắt của nó, nhưng điều đó nằm ngoài phạm vi của chương này. Nó có thể được viết theo tập lệnh với cánh cửa, hoặc nếu bạn đã lắp sẵn một bộ tay nắm cửa, nó có thể được đưa vào dưới dạng một đối tượng khác, sử dụng lệnh CALL và được đặt vào đúng vị trí trên cánh cửa

62

Object Making with ArchiCAD

Chapter 4: Practical Uses for GDL

.

A first look at Property Scripting Cái nhìn đầu tiên về Thuộc tính Scripting When you do a listing of your building, an easy one line commandwill help you. The DESCRIPTOR command describes your object.Open the Properties script and try this easy script, using the parameter ‘doortyp’, which was the user’s choice of door. Khi bạn lập danh sách tòa nhà của mình, một lệnh đơn giản sẽ giúp bạn. Lệnh DESCRIPTOR mô tả đối tượng của bạn. Mở tập lệnh Thuộc tính và thử tập lệnh dễ dàng này, sử dụng tham số ‘doortyp’, là sự lựa chọn của người dùng. DESCRIPTOR doortyp

Let’s finish the door Hãy hoàn thành cửa If you are serious about doors, you can see that there are many more things you could do. You could enter the manufacturer’s serial codes for door type, introduce many variations on the panelling solution, offer choices of ironwork, specify fire resistance, kickplates or letter boxes and more. Nếu bạn thực sự nghiêm túc về những cánh cửa, bạn có thể thấy rằng còn nhiều điều bạn có thể làm. Bạn có thể nhập mã sê-ri của nhà sản xuất cho loại cửa, giới thiệu nhiều biến thể về giải pháp ốp, cung cấp các lựa chọn về đồ sắt, chỉ định khả năng chống cháy, tấm đá hoặc hộp thư và hơn thế nữa. If you want to build double doors or bifold doors, it would be possible to build these into the same object – but then you mightmake it less user friendly if it becomes excessively complex. It is better to Save As... the door under a new name. Save as a doubledoor, then using the same frame details, provide the modified script for double doors – not forgetting that you need to update the 2D script, too. Nếu bạn muốn xây dựng cửa đôi hoặc cửa gấp đôi, có thể xây dựng chúng thành cùng một đối tượng - nhưng sau đó bạn có thể làm cho nó trở nên kém thân thiện hơn với người dùng nếu nó trở nên quá phức tạp. Tốt hơn là Save As ... cánh cửa dưới một cái tên mới. Lưu dưới dạng cửa đôi, sau đó sử dụng các chi tiết khung giống nhau, cung cấp tập lệnh đã sửa đổi cho cửa đôi - đừng quên rằng bạn cũng cần cập nhật tập lệnh 2D.

Preview window – get yourself an icon Cửa sổ xem trước - tạo cho mình một biểu tượng You must have noticed that most ArchiCAD Library parts have nicepictorial icons – how do you get these for yourself? Set up a nice 3D view of the object you have made, and photo-render this, preferably into a window sized 128x128 pixels. You can make it a bit larger, but keep it square. Select the image and Copy; from the Library part parameter building box, click on the button marked Preview Picture. Paste the image into that. Save and Close it. Now reload the object, and you will have a

nice preview picture for the object, as well as an icon for it. Bạn hẳn đã nhận thấy rằng hầu hết các phần của Thư viện ArchiCAD đều có các biểu tượng hình ảnh đẹp mắt - làm cách nào để bạn có được những biểu tượng này cho mình? Thiết lập chế độ xem 3D đẹp mắt cho đối tượng bạn đã tạo và kết xuất ảnh này, tốt nhất là trong một cửa sổ có kích thước 128x128 pixel. Bạn có thể làm cho nó lớn hơn một chút, nhưng hãy giữ nó hình vuông. Chọn hình ảnh và Sao chép; từ hộp xây dựng thông số phần Thư viện, nhấp vào nút được đánh dấu Xem trước Hình ảnh. Dán hình ảnh vào đó. Lưu và đóng nó. Bây giờ tải lại đối tượng và bạn sẽ có một hình ảnh xem trước đẹp mắt cho đối tượng, cũng như một biểu tượng cho nó. Object Making with ArchiCAD

63

Chapter 4: Practical Uses for GDL

Summary of GDL in this section Tóm tắt về GDL trong phần này – Doors and Windows must be built on the XY ground plane.Doors và Windows phải được xây dựng trên mặt đất XY. – The Origin should be at the center, lower sill or threshold.Nguồn gốc phải ở trung tâm, ngưỡng cửa thấp hơn hoặc ngưỡng cửa. – Hinging the door is not difficult – build the door from thehinging point.Lắp cửa không khó - dựng cửa từ điểm bản lề. – Build error-correcting statements into the script.Xây dựng các câu lệnh sửa lỗi vào tập lệnh. – The 2D symbol can be made with PROJECT2, in Side View.But a truly scripted 2D symbol may be more powerful.Ký hiệu 2D có thể được tạo bằng PROJECT2, trong Chế độ xem bên. Nhưng một biểu tượng 2D thực sự được viết theo kịch bản có thể mạnh hơn. – 2D symbols can adapt to the scale of the drawing if it isscripted. Ký hiệu 2D có thể thích ứng với tỷ lệ của bản vẽ nếu nó được viết theo kịch bản. – Global Variables – very interesting! Look at Appendix A of theGDl Reference Manual.Global Variables - rất thú vị! Xem Phụ lục A của Sổ tay Tham khảo GDl. – PRISMis more powerful than BLOCK.PRISM mạnh hơn BLOCK. – Master Script can hold information and perform errorcorrecting routines for both 2D and 3D.Master Script có thể giữ thông tin và thực hiện các quy trình sửa lỗi cho cả 2D và 3D. – Pop-up menus are easy to build, user-friendly and reduceerrors.Pop-up menu dễ xây dựng, thân thiện với người dùng và giảm lỗi. – Even simple objects can have a short Properties script.Ngay cả những đối tượng đơn giản cũng có thể có một tập lệnh Thuộc tính ngắn. – Make a Preview picture. Tạo hình ảnh Xem trước.

64

Object Making with ArchiCAD

Chapter 5: The Power of

Chapter 5

The Power of PRISM Sức mạnh của PRISM We discover a 3D command that adds real power to GDL. Chúng tôi phát hiện ra một lệnh 3D bổ sung sức mạnh thực tế cho GDL.

Object Making with ArchiCAD

65

Chapter 5: The Power of PRISM

5.1 The Power of PRISM Sức mạnh của PRISM PRISMis the most versatile element in 3D GDL PRISM là phần tử linh hoạt nhất trong 3D GDL We have found that BLOCK is acceptable for building elementary furniture and frames, but you rapidly discover that BLOCK is too primitive for serious work. Apart from its rigid shape, you have tomove the cursor to the location of the block, and the block alwaysgrows from the near left corner. Many objects have recognizableshapes or curves in them that require you to draw their outline shape correctly. PRISMis the answer.Chúng tôi nhận thấy rằng BLOCK có thể chấp nhận được để xây dựng đồ nội thất và khung cơ bản, nhưng bạn nhanh chóng phát hiện ra rằng BLOCK quá thô sơ cho các công việc nghiêm túc. Ngoài hình dạng cứng nhắc của nó, bạn phải di chuyển con trỏ đến vị trí của khối và khối luôn phát triển từ góc gần bên trái. Nhiều đối tượng có hình dạng hoặc đường cong dễ nhận biết yêu cầu bạn vẽ hình dạng đường viền của chúng một cách chính xác. PRISM là câu trả lời.

Prisms can be multi-colored, bent, rounded, cut, drilled, chamfered and hollowed out. They are quite useful.Lăng kính có thể có nhiều màu, uốn cong, làm tròn, cắt, khoan, vát mép và làm rỗng. Chúng khá hữu ích. You can define the outline of a prism by listing the XY locations ofits nodepoints. Although 0,0 might be one of its points, this is not essential. Your cursor can remain at the origin and your script can calmly draw prisms that are hundreds of meters away because it isentering the precise XY locations of each node.Bạn có thể xác định đường viền của lăng kính bằng cách

liệt kê các vị trí XY của các điểm nút của nó. Mặc dù 0,0 có thể là một trong những điểm của nó, nhưng điều này không cần thiết. Con trỏ của bạn có thể vẫn ở vị trí gốc và tập lệnh của bạn có thể bình tĩnh vẽ các lăng kính cách xa hàng trăm mét vì nó đang đi vào các vị trí XY chính xác của mỗi nút. The code for many prisms can also be ‘stolen’ from ArchiCAD. Try this next idea.Mã của nhiều lăng kính cũng có thể bị ‘đánh cắp’ từ ArchiCAD. Hãy thử ý tưởng tiếp theo này.

66

Object Making with ArchiCAD

Chapter 5: The Power of PRISM

This prism has been drawn out with the Slab tool in the ArchiCADfloor plan. To illustrate how prisms work, the nodes have been numbered in the order in which they were clicked. There are 13 points if you include the first point twice – the idea being that youfully close the prism by returning to the start.Hình lăng trụ này đã được vẽ ra bằng công cụ Slab trong sơ đồ mặt bằng ArchiCAD. Để minh họa cách hoạt động của lăng kính, các nút đã được đánh số theo thứ tự mà chúng được nhấp vào. Có 13 điểm nếu bạn bao gồm điểm đầu tiên hai lần - ý tưởng là bạn đóng hoàn toàn lăng kính bằng cách quay lại điểm bắt đầu. Now draw out a prism yourself of roughly the same shape (no need to number the nodes). As a regular discipline, try to draw slabs in the counterclockwise direction, because GDL is happier working that way. Mathematically, counterclockwise is a ‘positive’direction if you start trying to curve edges. Draw it so that one of the points coincides with zero – the global origin.Bây giờ bạn hãy tự vẽ một hình lăng trụ có hình dạng gần giống (không cần đánh số các nút). Như một kỷ luật thường xuyên, hãy cố gắng vẽ các phiến đá theo hướng ngược chiều kim đồng hồ, vì GDL cảm thấy hạnh phúc hơn khi làm việc theo cách đó. Về mặt toán học, ngược chiều kim đồng hồ là hướng 'tích cực' nếu bạn bắt đầu cố gắng làm cong các cạnh. Vẽ nó sao cho một trong những điểm trùng với điểm 0 - điểm gốc toàn cục.

Instant GDL GDL tức thì Everything in ArchiCAD is in fact GDL (under the surface). You can click on anything in an ArchiCAD floor plan – wall, roof, floor,mesh, even library part – and find out what its GDL code is by dragging and dropping it into a GDL script window. 3D objects should be dragged into a 3D script window, and 2D into 2D. Mọi thứ trong ArchiCAD trên thực tế là GDL (dưới bề mặt). Bạn có thể nhấp vào bất kỳ thứ gì trong sơ đồ tầng ArchiCAD - tường, mái, sàn, lưới, thậm chí cả phần thư viện và tìm hiểu mã GDL của nó bằng cách kéo và thả nó vào cửa sổ tập lệnh GDL. Các đối tượng 3D phải được kéo vào cửa sổ kịch bản 3D và 2D thành 2D.

Object Making with ArchiCAD

67

Chapter 5: The Power of PRISM

We can transform this slab to GDL immediately. From the File menu, choose New Library part>Object, and arrange the 3D script window in a narrow column on the right of the screen. Rearrange the project floor plan so that it is occupying 2/3 of the screen and is to the left, and overlapping the 3D script window slightly. Now click on the slab and, holding it, simply Drag it across and Drop it into the 3D script window. There is a slight knack to this, so try it afew times if it does not work the first time.Chúng tôi có thể chuyển đổi phiến này sang GDL ngay lập tức. Từ menu Tệp, chọn phần Thư viện mới> Đối tượng và sắp xếp cửa sổ tập lệnh 3D trong một cột hẹp ở bên phải màn hình. Sắp xếp lại sơ đồ tầng của dự án sao cho nó chiếm 2/3 màn hình và ở bên trái, đồng thời chồng lên cửa sổ kịch bản 3D một chút. Bây giờ hãy nhấp vào tấm và giữ nó, chỉ cần Kéo nó qua và thả nó vào cửa sổ tập lệnh 3D. Có một chút sở trường về điều này, vì vậy hãy thử nó một vài lần nếu nó không hoạt động trong lần đầu tiên. BODY -1 MODEL SOLIDRESOL 36 !!Slab-018 PEN 1 ADDZ 4.1 BODY -1 cPRISM_ "Whitewash", "Whitewash", "Whitewash",13, 0.1, 0.0, 0.0, 15, 4.28548, 0.0, 15, 4.28548, 0.949196, 15, 5.279549, 0.949196, 15, 5.279549, 2.155116, 15, 3.405484, 2.155116, 15, 3.405484, 3.067704, 15, -0.000425, 3.067704, 15, -0.000425, 2.00845, 15, -2.444858, 2.00845, 15, -2.444858, 0.949196, 15, 0.0, 0.949196, 15, 0.0, 0.0, -1 BODY -1 DEL 1

This resembles what you will get in the 3D script window. Instant GDL! All Slab tool objects are converted into ‘CPRISM_’; this is a prism in which the top, bottom and side surfaces are specified by name or number. The next line contains the number of nodes and the thickness, and then follows the list of XY locations. Each one ends in the number 15, and the final node ends in a -1. The 15 is a ‘masking code’ and simply tells the slab to be drawn as a Solid andtells all the edge lines to be drawn. The -1 tells GDL that the slab isfinished (and also that the end point is the same as the start point).This is the default, so leave these as they are unless you want to omit nodepoints.Điều này giống với những gì bạn sẽ nhận được trong cửa sổ tập lệnh 3D. GDL tức thì! Tất cả các đối tượng công cụ Slab được chuyển đổi thành ‘CPRISM_’; đây là một hình lăng trụ trong đó các mặt trên, dưới và mặt bên được xác định bằng tên hoặc số. Dòng tiếp theo chứa số lượng nút và độ dày, sau đó là danh sách các vị trí

XY. Mỗi nút kết thúc bằng số 15 và nút cuối cùng kết thúc bằng -1. Số 15 là một 'mã mặt nạ' và chỉ đơn giản nói rằng tấm được vẽ dưới dạng một Khối rắn và cho biết tất cả các đường cạnh sẽ được vẽ. -1 cho GDL biết rằng phiến đã hoàn thành (và điểm kết thúc cũng giống như điểm bắt đầu). Đây là mặc định, vì vậy hãy để chúng như cũ trừ khi bạn muốn bỏ qua nút bấm. Note that the slab was started from the main origin of the project,so that the first node listed is 0,0. Note also that the XY locations are accurate to a millionth of a meter. This is a lot of reading for the GDL parser, and if you write creative GDL, you can write in much cleaner numbers.Lưu ý rằng phiến được bắt đầu từ nguồn gốc chính của dự án, do đó, nút đầu tiên được liệt kê là 0,0. Cũng lưu ý rằng các vị trí XY chính xác đến một phần triệu mét. Đây là cách đọc rất nhiều đối với trình phân tích cú pháp GDL và nếu bạn viết GDL sáng tạo, bạn có thể viết với số lượng rõ ràng hơn nhiều.

68

Object Making with ArchiCAD

Chapter 5: The Power of PRISM

You can also do ‘Instant GDL’ in 2D Bạn cũng có thể thực hiện ‘GDL tức thì’ ở dạng 2D Try drawing a polygon with the Fill tool. Drag and Drop the resultinto a 2D Script window – another example of instant GDL! Hãy thử vẽ một đa giác bằng công cụ Fill. Kéo và thả kết quả vào cửa sổ Tập lệnh 2D - một ví dụ khác về GDL tức thì!

About Prisms… Giới thiệu về Lăng kính ...

Object Making with ArchiCAD

Prisms come in several forms. Lăng kính có nhiều dạng. PRISM number of nodes, thickness,X1,Y1,. ...............................Xn,Yn For a simple prism, you do not need materials or the underscore,and you do not even need to close the prism. The default is for itto be a closed solid. By adding an underscore and 15 at the end ofeach line, you get much the same thing, but with added potential.Đối với một hình lăng trụ đơn giản, bạn không cần vật liệu hoặc gạch dưới, và bạn thậm chí không cần đóng hình lăng trụ lại. Mặc định cho nó là một khối đóng. Bằng cách thêm dấu gạch dưới và 15 vào cuối mỗi dòng, bạn sẽ nhận được nhiều thứ tương tự, nhưng có thêm tiềm năng. PRISM_ number of nodes, thickness, X1,Y1,mask,...... Xn,Yn,mask, X1,Y1,-1 Normally, the value of the masking code is always 15. The power of masking in the underscore version of PRISM is that you can omitfaces and lines of the prism and you can curve corners, and drill holes through the prism. The curved corners are made using the technique of the ‘Polyline’. It is too early to lead you through all these possibilities now, but you need to know that they are available.Thông thường, giá trị của mã mặt nạ luôn là 15. Sức mạnh của mã mặt nạ trong phiên bản gạch dưới của PRISM là bạn có thể bỏ qua các mặt và đường của lăng kính và bạn có thể làm cong các góc và khoan lỗ qua lăng kính. Các góc cong được thực hiện bằng kỹ thuật ‘Polyline’. Còn quá sớm để dẫn dắt bạn vượt qua tất cả những khả năng này ngay bây giờ, nhưng bạn cần biết rằng chúng có sẵn. CPRISM_ topmat,botmat,sidemat,number of nodes, thickness, X1,Y1,mask,...... Xn,Yn,mask, X1,Y1,-1 CPRISM_is what you get when you make ‘instant GDL’ with the Slab tool. This has all the powers of PRISM_but it also allows youto change the colors of the top, bottom and side faces.CPRISM_ là những gì bạn nhận được khi tạo 'GDL tức thì' bằng công cụ Slab. Điều này có tất cả các quyền hạn của PRISM_ nhưng nó cũng cho phép bạn thay đổi màu sắc của mặt trên, mặt dưới và mặt bên. You also have the following types of prism which are suitable forlater study:Bạn cũng có các loại lăng kính sau thích hợp cho việc học sau này: – BPRISM_is an extension of CPRISM_but allows you to bend the prism by adding a radius of curvature. It bends

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – downwards, but if you precede it with a mirroring routine (MULZ -1), it will bend upwards.Xuống dưới, nhưng nếu bạn đặt trước nó bằng quy trình phản chiếu (MULZ -1), nó sẽ uốn cong lên trên. – FPRISMis an extension of CPRISM_ but allows you to have curved or chamfered top edges (hills) by specifying the angle,

height and material of the hill. This is useful for suggesting softness, e.g., in furniture. However, it creates a lot of polygons and lines in 3D view.FPRISM là phần mở rộng của CPRISM_ nhưng cho phép bạn có các cạnh trên cùng (đồi) cong hoặc vát bằng cách chỉ định góc, chiều cao và chất liệu của đồi. Điều này hữu ích để gợi ý sự mềm mại, ví dụ, trong đồ nội thất. Tuy nhiên, nó tạo ra rất nhiều đa giác và đường trong chế độ xem 3D. – SPRISM_ is an extension of CPRISM_ but allows you to have a cut plane taken through the prism. As it is possible to use an actual command CUTPLANE, this version of the Prism is not so frequently used.SPRISM_ là phần mở rộng của CPRISM_ nhưng cho phép bạn có một mặt phẳng cắt qua lăng kính. Vì có thể sử dụng lệnh thực sự CUTPLANE, phiên bản này của Prism không được sử dụng thường xuyên.

69

Chapter 5: The Power of PRISM

Clean up the Prism Làm sạch Lăng kính Return to the cPrism we dragged and dropped earlier. If you just want a pure prism, clean away the statements before and after theprism. The function of these is explained more in chapter 6. If youfind an ADDZ command like the one in this example, it is a leftoverfrom a previous Slab tool setting, so you can delete that, along with DEL. You are left with a simple CPRISM_command: Quay lại cPrism mà chúng ta đã kéo và thả trước đó. Nếu bạn chỉ muốn có một lăng kính thuần túy, hãy xóa sạch các câu trước và sau lăng kính. Chức năng của chúng được giải thích kỹ hơn trong chương 6. Nếu bạn tìm thấy lệnh ADDZ giống như lệnh trong ví dụ này, nó là phần còn lại từ cài đặt công cụ Slab trước đó, vì vậy bạn có thể xóa lệnh đó cùng với DEL. Bạn chỉ còn lại một lệnh CPRISM_ đơn giản: CPRISM_ "Whitewash", "Whitewash", "Whitewash",13, 0.1, 0.0, 0.0, 15, 4.28548, 0.0, 15, 4.28548, 0.949196, 15, 5.279549, 0.949196, 15, 5.279549, 2.155116, 15, 3.405484, 2.155116, 15, 3.405484, 3.067704, 15, -0.000425, 3.067704, 15, -0.000425, 2.00845, 15, -2.444858, 2.00845, 15, -2.444858, 0.949196, 15, 0.0, 0.949196, 15, 0.0, 0.0, -1

If you are doing a very simple solid one-color prism, you do not need all the 15s and the -1, so you can delete those. You can also remove the ‘c’, the underscore and the material definitions. One single material definition is enough for the whole prism. You can also use the GDL text editor’s Find and Replace function to removesome of the surplus spaces to make the code look more compact. So you are left with an even simpler PRISM command:Nếu bạn đang làm một lăng kính đặc một màu rất đơn giản, bạn không cần tất cả các giá trị 15 và -1, vì vậy bạn có thể xóa chúng. Bạn cũng có thể loại bỏ chữ ‘c’, dấu gạch dưới và các định nghĩa vật liệu. Một định nghĩa vật liệu duy nhất là đủ cho toàn bộ lăng kính. Bạn cũng có thể sử dụng chức năng Tìm và Thay thế của trình soạn thảo văn bản GDL để loại bỏ một số khoảng trống thừa nhằm làm cho mã trông gọn gàng hơn. Vì vậy, bạn chỉ còn lại một lệnh PRISM đơn giản hơn: MATERIAL “Whitewash” PRISM 13, 0.1, 0.0, 0.0, 4.28548, 0.0, 4.28548, 0.949196, 5.279549, 0.949196, 5.279549, 2.155116, 3.405484, 2.155116, 3.405484, 3.067704, -0.000425, 3.067704, -0.000425, 2.00845, -2.444858, 2.00845, -2.444858, 0.949196, 0.0, 0.949196,

0.0, 0.0

In creative GDL, you have to decide how your model is to bewritten.Trong GDL sáng tạo, bạn phải quyết định cách viết mô hình của mình.

70

Object Making with ArchiCAD

Chapter 5: The Power of PRISM

– Do you have a single prism shape that is not going to changemuch even if the user changes parameters? If so, use this method, always working from the main origin of the project, to ensure that at least one node of the prism is zero. Bạn có một hình lăng trụ duy nhất sẽ không thay đổi nhiều ngay cả khi người dùng thay đổi các thông số? Nếu vậy, hãy sử dụng phương pháp này, luôn làm việc từ điểm gốc chính của dự án, để đảm bảo rằng ít nhất một nút của lăng kính bằng không. – If the shape is truly parametric, such as a window or door frame, then you should do a sketch on paper of the prism, number each node in an anti clockwise direction, then start writing the prism methodically using parameters, or significantdimensions where appropriate.Nếu hình dạng thực sự là tham số, chẳng hạn như khung cửa sổ hoặc cửa ra vào, thì bạn nên phác thảo trên giấy của lăng kính, đánh số từng nút theo hướng ngược chiều kim đồng hồ, sau đó bắt đầu viết lăng kính một cách có phương pháp sử dụng các tham số hoặc kích thước quan trọng trong đó thích hợp. Have a look in the GDL Reference Manual (by now you should find it a lot easier to browse) and read the section on PRISMs inthe chapter dealing with 3D Shapes. If it is still hard going, you will find it easier after you have been through this chapter.Hãy xem trong Sách hướng dẫn tham khảo GDL (bây giờ bạn sẽ thấy nó dễ duyệt hơn rất nhiều) và đọc phần về PRISM trong chương xử lý Hình dạng 3D. Nếu vẫn còn khó khăn, bạn sẽ thấy nó dễ dàng hơn sau khi xem hết chương này.

Comma confusion? Lẫn lộn dấu phẩy? In some countries, it is common to write decimal points as commas, e.g., 1,25. In other countries it is common to write thousands with commas for example, a million is 1,000,000. If you have a localized ArchiCAD, this is how numbers may appear in theparameters box. But in GDL, the scripts are hard coded so only one convention can be followed. Dots are used to form the decimal point, and commas are used to separate numbers. Many of the errors in your early efforts in creative GDL will be with misplaced dots and commas. Pay strict attention to them.Ở một số quốc gia, người ta thường viết các dấu thập phân dưới dạng dấu phẩy, ví dụ: 1,25. Ở các quốc gia khác, người ta thường viết hàng nghìn với dấu phẩy, ví dụ, một triệu là 1.000.000. Nếu bạn có một ArchiCAD được bản địa hóa, đây là cách các số có thể xuất hiện trong hộp tham số. Nhưng trong GDL, các tập lệnh được mã hóa cứng nên chỉ có thể tuân theo một quy ước. Dấu chấm được sử dụng để tạo thành dấu thập phân và dấu phẩy được sử dụng để phân tách các số. Nhiều lỗi trong những nỗ lực ban đầu của bạn trong GDL sáng tạo sẽ là do dấu chấm và dấu phẩy đặt sai vị trí. Hãy chú ý nghiêm ngặt đến chúng.

5.2 Let’s make a 3D Window Hãy tạo một Cửa sổ 3D

Now that you know about prisms, we can build a window using aprism for the window, drilling a hole through to form the frame, and even allowing the possibility of a curved top to the window. We can also form a sill using a prism.Bây giờ bạn đã biết về lăng kính, chúng ta có thể xây dựng một cửa sổ bằng lăng kính cho cửa sổ, khoan một lỗ xuyên qua để tạo thành khung và thậm chí cho phép khả năng có một đỉnh cong đối với cửa sổ. Chúng ta cũng có thể tạo một ngưỡng cửa bằng lăng kính. Remember the basic rule of making a window (this is the third wall-opening-filler in the book now) which is that it is made flat on the XY ground plane, viewed from 90˚ and saved. Then, when it is brought back into ArchiCAD and placed in a wall, it is the rightway up and able to cut a hole. The second rule is that ‘A’ governs the width and ‘B’ governs the height – ideally, the origin should becentrally positioned at the sill of the window.Hãy nhớ quy tắc cơ bản của việc tạo cửa sổ (đây là phần lấp đầy tường mở thứ ba trong cuốn sách bây giờ) là nó được làm phẳng trên mặt phẳng mặt đất XY, nhìn từ 90˚ và được lưu lại. Sau đó, khi nó được đưa trở lại ArchiCAD và được đặt trong một bức tường, nó sẽ đúng hướng lên và có thể khoét một lỗ. Quy tắc thứ hai là ‘A’ điều chỉnh chiều rộng và ‘B’ điều chỉnh chiều cao - lý tưởng là điểm gốc phải được đặt ở vị trí trung tâm ở ngưỡng cửa sổ. First, create a new window by choosing File>New Library Part>Window. Enter some parameters to get started with. These here are in mm, but you can work your chosen dimension system.Đầu tiên, tạo một cửa sổ mới bằng cách chọn Tệp> Phần Thư viện Mới> Cửa sổ. Nhập một số thông số để bắt đầu. Các giá trị này ở đây được tính bằng mm, nhưng bạn có thể làm việc với hệ thống kích thước đã chọn của mình.

Object Making with ArchiCAD

71

Chapter 5: The Power of PRISM

The first task is to make a prism for the outline of the window, using A and B. You have to use PRISM_ (underscore) because you are planning to drill a hole in the prism to form the window frame. Work in a counterclockwise direction. Click in the 3D Viewwindow when you have finished. Do not click until you have finished – an incomplete Prism statement will result in an error.Nhiệm vụ đầu tiên là tạo hình lăng trụ cho đường viền của cửa sổ, sử dụng A và B. Bạn phải sử dụng PRISM_ (gạch dưới) vì bạn đang định khoan một lỗ trên lăng kính để tạo khung cửa sổ. Làm việc theo hướng ngược chiều kim đồng hồ. Nhấp vào cửa sổ Chế độ xem 3D khi bạn đã hoàn tất. Đừng nhấp chuột cho đến khi bạn hoàn thành - một câu lệnh Prism chưa hoàn chỉnh sẽ dẫn đến lỗi. Start with a Label and Material statement.Bắt đầu với câu lệnh Nhãn và Vật liệu. !Window Frame MATERIAL frammat PRISM_ 5,fdep, -A/2,0,15, A/2,0,15, A/2,B,15, -A/2,B,15, -A/2,0,-1

Now you add the XY locations of the hole – based on the frame width. End each XY with a 15. The number of nodepoints will be increased because the number that make up the hole are added tothe number for the outline. You need 5 points to form a 4-sided prism. So you will have to add another 5 points for the hole. We recommend that you write the number of nodes as an expression ‘5+5’. This way, you can always remember how you arrived at thefinal number. Here, this might seem elementary, but when you getonto more complex prism shapes you will find this a useful tip.Bây giờ bạn thêm các vị trí XY của lỗ - dựa trên chiều rộng khung. Kết thúc mỗi XY với một 15. Số lượng nút sẽ được tăng lên bởi vì số lượng tạo nên lỗ được thêm vào số của phác thảo.

Bạn cần 5 điểm để tạo thành một hình lăng trụ 4 cạnh. Vì vậy, bạn sẽ phải thêm 5 điểm nữa cho lỗ. Chúng tôi khuyên bạn nên viết số lượng nút dưới dạng biểu thức ‘5 + 5’. Bằng cách này, bạn luôn có thể nhớ mình đã đến con số cuối cùng như thế nào. Ở đây, điều này có vẻ sơ đẳng, nhưng khi bạn tìm hiểu các hình dạng lăng trụ phức tạp hơn, bạn sẽ thấy đây là một mẹo hữu ích. As you work your way round the prism, make appropriate additions and subtractions of the frame width ‘fwid’. If you finish with something silly, then you may have put your plus and minussigns in the wrong place. If you get an error you may have forgotten to keep the commas continuous to the end, or you may have forgotten to change the nodepoints from 5 to 5+5.Khi bạn làm việc theo cách của mình quanh lăng kính, hãy thực hiện các phép cộng và trừ thích hợp đối với chiều rộng khung hình "fwid". Nếu bạn kết thúc với điều gì đó ngớ ngẩn, thì bạn có thể đã đặt dấu cộng và dấu trừ của mình không đúng chỗ. Nếu bạn gặp lỗi, bạn có thể đã quên giữ dấu phẩy liên tục đến cuối hoặc bạn có thể đã quên thay đổi điểm nút từ 5 thành 5 + 5.

72

Object Making with ArchiCAD

Chapter 5: The Power of PRISM

PRISM_ 5+5,fdep, -A/2,0,15, A/2,0,15, A/2,B,15, -A/2,B,15, -A/2,0,-1,

!end of outline

-A/2+fwid,0+fwid,15, !start of holeA/2fwid,0+fwid,15, A/2-fwid,B-fwid,15, -A/2+fwid,B-fwid,15, -A/2-fwid,0+fwid,-1 !end of hole

Object Making with ArchiCAD

Now you can add the Glass. For a fixed light, this will be the sameoutline as the inside line of the hole in the frame. Therefore, to build your glass easily, you can simply copy and paste the list ofpoints for the hole. Assume that the glass is at the midpoint of theframe so lift the glass, and assume that the glass is 6 mm thick.Bây giờ bạn có thể thêm Kính. Đối với đèn cố định, đây sẽ là đường viền bên trong của lỗ trên khung. Do đó, để xây dựng kính của bạn một cách dễ dàng, bạn có thể chỉ cần sao chép và dán danh sách các điểm cho lỗ. Giả sử rằng tấm kính nằm ở điểm giữa của khung thì hãy nhấc tấm kính lên, và giả sử rằng tấm kính dày 6 mm. !Glass MATERIAL glasmat ADDz fdep/2 PRISM_ 5,0.006, -A/2+fwid,0+fwid,15, A/2fwid,0+fwid,15, A/2-fwid,Bfwid,15, -A/2+fwid,B-fwid,15, -A/2+fwid,0+fwid,-1DEL 1 We have assumed that the frame is rectangular in section. This is quite adequate for general 3D visuals and general arrangement drawings for a building. If you wanted to include highly detailedinformation about the frame profile, including rebates, etc., you would have to use another command called TUBE. With TUBE, you define a profile and pull that profile through a series of points – the outline of the window – to form the frame. TUBEis beyond the scope of this book, but when you have more experience with

73

Chapter 5: The Power of PRISM

GDL, try it! For construction drawing purposes, you could put this level of detail into the 2D symbol script, including scale sensitivity.Chúng tôi đã giả định rằng khung có mặt cắt là hình chữ nhật. Điều này là khá đầy đủ cho hình ảnh 3D chung và các bản vẽ bố trí chung cho một tòa nhà. Nếu bạn muốn bao gồm thông tin chi tiết cao về cấu hình khung, bao gồm các khoản giảm giá, v.v., bạn sẽ phải sử dụng một lệnh khác có tên là TUBE. Với TUBE, bạn xác định một cấu hình và kéo cấu hình đó qua một loạt các điểm - đường viền của cửa sổ - để tạo thành khung. TUBE nằm ngoài phạm vi của cuốn sách này, nhưng khi bạn có nhiều kinh nghiệm hơn với GDL, hãy thử nó! Đối với mục đích vẽ xây dựng, bạn có thể đưa mức độ chi tiết này vào tập lệnh ký hiệu 2D, bao gồm cả độ nhạy tỷ lệ.

Add the Sill Thêm thuốc This is more difficult. So far, the whole frame has been safely onthe ground, and we have only had to define its outline, and it wasproduced in the right place. Prisms only grow upwards from the XY ground plane. So the sill has to be made on end with the PRISMcommand; then turned over and aligned with the window.Make it at the origin first. Điều này khó hơn. Cho đến nay, toàn bộ khung đã được an toàn trên mặt đất, và chúng tôi chỉ phải xác định đường viền của nó, và nó đã được sản xuất ở đúng vị trí. Lăng kính chỉ mọc lên từ mặt đất XY. Vì vậy, ngưỡng cửa phải được thực hiện khi kết thúc bằng lệnh PRISM; sau đó được lật lại và căn chỉnh với cửa sổ. Hãy làm cho nó ở nguồn gốc đầu tiên.

!Sill MATERIAL frammat PRISM 5,A, 0,0, silproj,0, silproj,fwid/2,0,fwid, 0,0 This basic sill sticks up in the air. But you can see that by rotating it 90˚ around Y and recessing it to the corner of the main frame, it will be an easy job. Put the ROTand ADD commands in front of theSill prism, and remember to DEL afterwards. The right-hand imageshows the sill finally positioned, just before the DEL command is issued.Bệ cửa cơ bản này nhô lên trong không khí. Nhưng bạn có thể thấy rằng bằng cách xoay nó 90˚ xung quanh Y và đặt nó vào góc của khung hình chính, nó sẽ là một công việc dễ dàng. Đặt các lệnh ROT và ADD trước lăng kính Sill và nhớ DEL sau đó. Hình ảnh bên phải cho thấy ngưỡng cửa được định vị cuối

cùng, ngay trước khi lệnh DEL được đưa ra. !Sill MATERIAL frammat ROTy 90 ADDz -A/2 PRISM 5,A, 0,0, silproj,0, silproj,fwid/2,0,fwid, 0,0 DEL 2

74

Object Making with ArchiCAD

Chapter 5: The Power of PRISM

Don’t forget the 2D Symbol Đừng quên Biểu tượng 2D For an easy life, you can use this regular do-it-all script. You might,however, wish for a high performance symbol that has scale sensitivity. In this way, you can keep the 3D object simple, but allow the 2D drawings to display rebated frames and casements.Để có một cuộc sống dễ dàng, bạn có thể sử dụng tập lệnh làm tất cả thông thường này. Tuy nhiên, bạn có thể mong muốn một biểu tượng hiệu suất cao có độ nhạy tỷ lệ. Bằng cách này, bạn có thể giữ cho đối tượng 3D đơn giản, nhưng cho phép các bản vẽ 2D hiển thị các khung và hộp giảm giá. Chapter 4 used the Door example to demonstrate the procedure.Chương 4 đã sử dụng ví dụ Cửa để chứng minh quy trình. !Simple Window 2D scriptROT2 180 PROJECT2 4,90,1 DEL 1

The window is seen here with the door from chapter 4 Cửa sổ được nhìn thấy ở đây với cánh cửa từ chương 4 Save the window file, return to the ArchiCAD floor plan, draw a wall and drop this window into it. Place a section line in front of it.Practice stretching the window. Notice that the frame remains thecorrect size, even though you can stretch the window greatly. If itwas a smart window, you could get it to work out when it was wide enough to need intermediate mullions.Lưu tệp cửa sổ, quay lại sơ đồ tầng ArchiCAD, vẽ một bức tường và thả cửa sổ này vào đó. Đặt một dòng phần trước nó. Thực hành kéo căng cửa sổ. Lưu ý rằng khung vẫn có kích thước chính xác, mặc dù bạn có thể kéo dài cửa sổ rất nhiều. Nếu đó là một cửa sổ thông minh, bạn có thể làm cho nó hoạt động khi nó đủ rộng để cần đến hàng triệu đô la trung gian.

You can see at a glance that the use of PRISM leads to a clean 3D image, whereas the use of BLOCK (as for the door) left a number of untidy lines on the 3D view. Bạn có thể thấy sơ qua rằng việc sử dụng PRISM dẫn đến hình ảnh 3D rõ ràng, trong khi việc sử dụng BLOCK (đối với cửa) để lại một số đường nét không đẹp trên chế độ xem 3D.

Object Making with ArchiCAD

75

Chapter 5: The Power of PRISM

Try WALLHOLE Dùng thử WALLHOLE We all know that GDL windows and doors automatically cut a rectangle based on A (width) and B (height). If this is too simplistic for you, it is possible to dictate exactly what shape the window should cut in the wall, irrespective of the actual window frame that will fit. WALLHOLE is a command that is like a cookie cutter – punches a hole in the wall, yet is easy to use - having the same syntax as PRISM_. In fact, if you take the outline of the window frame, that perfectly defines the list of XY locations for the hole. It is not required for a simple window like this, but it is valuable to know about WALLHOLE so that you are able to providea complex window shape when you need it.Chúng ta đều biết rằng cửa sổ và cửa ra vào GDL tự động cắt một hình chữ nhật dựa trên A (chiều rộng) và B (chiều cao). Nếu điều này quá đơn giản đối với bạn, bạn có thể xác định chính xác hình dạng cửa sổ nên cắt trên tường, bất kể khung cửa sổ thực tế sẽ phù hợp. WALLHOLE là một lệnh giống như một cái máy cắt cookie - đục một lỗ trên tường, nhưng rất dễ sử dụng - có cùng cú pháp như PRISM_. Trên thực tế, nếu bạn lấy đường viền của khung cửa sổ, điều đó sẽ xác định hoàn hảo danh sách các vị trí XY cho lỗ. Nó không bắt buộc đối với một cửa sổ đơn giản như thế này, nhưng bạn nên biết về WALLHOLE để có thể cung cấp một hình dạng cửa sổ phức tạp khi cần. The major limitation of WALLHOLE is that you cannot have indentsin the shape. A ‘D’ shape is acceptable, but an ‘L’ shape is not. If you wanted to make a twin arch window, which requires a ‘B’ shape, you could overlap two ‘D’-shaped WALLHOLEs together.Hạn chế chính của WALLHOLE là bạn không thể có thụt lề trong hình dạng. Hình dạng ‘D’ có thể chấp nhận được, nhưng hình dạng ‘L’ thì không. Nếu bạn muốn tạo cửa sổ vòm đôi, yêu cầu hình chữ ‘B’, bạn có thể chồng hai chữ WALLHOLE hình chữ ‘D’ với nhau. Have a look through the Windows and Doors Specials chapter of the GDL Reference Manual for more detailed explanation. Copy and paste the original outline prism command, and then change itslabel and the title.Hãy xem qua chương Đặc biệt về Windows và Cửa của Sách hướng dẫn Tham khảo GDL để được giải thích chi tiết hơn. Sao chép và dán lệnh lăng kính phác thảo ban đầu, sau đó thay đổi nhãn và tiêu đề của nó. !Cut the Hole! WALLHOLE 5,1, -A/2,0,15, A/2,0,15, A/2,B,15, -A/2,B,15, -A/2,0,-1 In place of the Prism thickness, you have a status code. This can be either 0 or 1. If you make it 0, the reveal to the window will adopt the color of the window frame (or whatever was the most recent Material statement.) If you make it 1, the reveal will displaythe characteristics of the wall.Thay cho độ dày của Lăng kính, bạn có một mã trạng thái. Đây có thể là 0 hoặc 1. Nếu bạn đặt nó là 0, phần hiển thị cho cửa sổ sẽ áp dụng màu của khung cửa sổ (hoặc bất cứ điều gì là câu lệnh Material gần

đây nhất.) Nếu bạn đặt nó là 1, phần hiển thị sẽ hiển thị các đặc điểm của bức tường.

Give it a curvy window head – Flags and Polylines Tạo cho nó một đầu cửa sổ cong - Cờ và Đường đa giác This is too early to go into the matter of polylines, but you might like a glance at the future – and decide you like it. If you add a masking value of 1000 to the 15 you can make the PRISM_outlinefollow a tangential curve. Let’s try this.Còn quá sớm để đi sâu vào vấn đề đa đường, nhưng bạn có thể thích một cái nhìn về tương lai - và quyết định bạn thích nó. Nếu bạn thêm giá trị mặt nạ là 1000 vào 15, bạn có thể làm cho đường viền PRISM_ theo một đường cong tiếp tuyến. Chúng ta hãy cố gắng này. First you need to make a small pop-up menu. Make a new parameter ‘winshape’, and write a short VALUESstatement in the Parameter Script.Trước tiên, bạn cần tạo một menu nhỏ bật lên. Tạo một tham số mới "wonhape" và viết một câu lệnh VALUES ngắn trong Tập lệnh Tham số.

76

Object Making with ArchiCAD

Chapter 5: The Power of PRISM

VALUES 'winshape' 'Rectangular','Round-topped' Now, at the top of the 3D script write a short routine to parse the result. This generates a value for a flag, ‘ws’. Bây giờ, ở đầu tập lệnh 3D, hãy viết một quy trình ngắn để phân tích kết quả. Điều này tạo ra một giá trị cho cờ, "ws". IF winshape='Rectangular' THEN ws=0IF winshape='Round-topped' THEN ws=1 We introduced the idea of flags earlier, in chapter 4, to remember which sort of bed was required. Chúng tôi đã giới thiệu ý tưởng về cờ trước đó, trong chương 4, để ghi nhớ loại giường nào là bắt buộc.

Final 3D script – we see the power of WALLHOLE Kịch bản 3D cuối cùng - chúng tôi thấy sức mạnh của WALLHOLE Let’s run through the whole of the 3D script from start to end. Hãy chạy qua toàn bộ kịch bản 3D từ đầu đến cuối. !Window Frame IF winshape='Rectangular' THEN ws=0IF winshape='Round-topped' THEN ws=1!Cut the Hole! WALLHOLE 5,1, -A/2,0,15, A/2,0,15, A/2,B,13, -A/2,B,13+1000*ws, -A/2,0,-1 Now you see why you need WALLHOLE. When you want a non-rectangular window opening, WALLHOLEis essential. If you add1000 to the mask value at the END of the curve, it will fly round from the previous location forming a tangential curve. By multiplying 1000 by ‘ws’ you can switch the curve ON and OFF.Do the same thing to the actual frame.Bây giờ bạn thấy lý do tại sao bạn cần WALLHOLE. Khi bạn muốn mở một cửa sổ không phải hình chữ nhật, WALLHOLE là điều cần thiết. Nếu bạn thêm 1000 vào giá trị mặt nạ tại END của đường cong, nó sẽ bay vòng từ vị trí trước đó tạo thành một đường cong tiếp tuyến. Bằng cách nhân 1000 với 'ws', bạn có thể BẬT và TẮT đường cong. Làm điều tương tự với khung thực tế. !Window Frame MATERIAL frammat PRISM_ 5+5,fdep, -A/2,0,15, A/2,0,15, A/2,B,13, -A/2,B,13+1000*ws,

-A/2,0,-1, -A/2+fwid,0+fwid,15,A/2fwid,0+fwid,15, A/2-fwid,B-fwid+fwid*ws,13, -A/2+fwid,B-fwid+fwid*ws,13+1000*ws, -A/2+fwid,0+fwid,-1

Object Making with ArchiCAD

77

Chapter 5: The Power of PRISM

There is a problem with the inside line of the hole. Because the XY points at the inside head of the rectangular window are where they are, a pure tangential curve will not run smoothly parallel to the external outline. So you have to raise those two points to the same height as the highest point on the external outline. Use the flag ‘ws’ again to do this. The changes in the script are marked in bold. If you are typing this, try it without the modification and youwill see the difference in quality.Có vấn đề với đường bên trong của lỗ. Bởi vì các điểm XY ở đầu bên trong của cửa sổ hình chữ nhật là vị trí của chúng, một đường cong tiếp tuyến thuần túy sẽ không chạy trơn tru song song với đường viền bên ngoài. Vì vậy, bạn phải nâng hai điểm đó lên cùng độ cao với điểm cao nhất trên đường viền bên ngoài. Sử dụng lại cờ ‘ws’ để thực hiện việc này. Những thay đổi trong tập lệnh được đánh dấu bằng chữ in đậm. Nếu bạn đang gõ chữ này, hãy thử nó mà không cần sửa đổi và bạn sẽ thấy sự khác biệt về chất lượng. Another point is that you do not want the curve to be interrupted by many edge lines. Change the 15 to 13 at the start and end of thecurve; do this for the WALLHOLEand for the PRISMs for the Frameand the Glass. If you check the section on prisms in the 3D Shapeschapter of the GDL Reference Manual you will see that a masking value of 13 removes the vertical lines. Leave them at 15 first, then change them to 13, and compare the result in 3D.Một điểm nữa là bạn không muốn đường cong bị ngắt quãng bởi nhiều đường cạnh. Thay đổi 15 thành 13 ở đầu và cuối của đường cong; làm điều này cho WALLHOLE và cho PRISMs cho Khung và Kính. Nếu bạn kiểm tra phần về lăng kính trong chương Hình dạng 3D của Sách hướng dẫn tham khảo GDL, bạn sẽ thấy rằng giá trị mặt nạ là 13 sẽ loại bỏ các đường thẳng đứng. Trước tiên, hãy để chúng ở mức 15, sau đó thay đổi chúng thành 13 và so sánh kết quả dưới dạng 3D. !Glass MATERIAL glasmat ADDz fdep/2 PRISM_ 5,0.006, -A/2+fwid,0+fwid,15,A/2fwid,0+fwid,15, A/2-fwid,B-fwid+fwid*ws,13, -A/2+fwid,B-fwid+fwid*ws,13+1000*ws, -A/2+fwid,0+fwid,-1DEL 1 As the internal line of the frame is the same as the outline of the glass, you are able to copy and paste the list of XY locations. TheSill does not change.Vì đường bên trong của khung giống với đường viền của kính, bạn có thể sao chép và dán danh sách các vị trí XY. Sill không thay đổi. !Sill MATERIAL frammat ROTy 90 ADDz -A/2 PRISM 5,A, 0,0,

silproj,0, silproj,fwid/2,0,fwid, 0,0 DEL 2

78

Object Making with ArchiCAD

Chapter 5: The Power of PRISM

This is just a start. Now you have worked through this example,you may be willing to try more adventures on your own with PRISM. Đây chỉ là một sự khởi đầu. Bây giờ bạn đã làm việc thông qua ví dụ này, bạn có thể sẵn sàng thử nhiều cuộc phiêu lưu hơn với PRISM.

Summary of GDL in this section Tóm tắt về GDL trong phần này – Prisms are the most useful command in creative GDL – they can be bent, rounded, cut, drilled, chamfered and hollowed out. Prisms là lệnh hữu ích nhất trong GDL sáng tạo - chúng có thể được uốn cong, làm tròn, cắt, khoan, vát mép và làm rỗng. – You do not need to move the cursor to build prisms, becausethe XY of each of their nodepoints can be defined. You may only have to lift them into position.Bạn không cần phải di chuyển con trỏ để xây dựng lăng kính, vì XY của mỗi điểm nút của chúng có thể được xác định. Bạn có thể chỉ phải nâng chúng vào vị trí. – You can shorten the time of building prisms with ‘InstantGDL’ using Drag and Drop.Bạn có thể rút ngắn thời gian xây dựng lăng kính với ‘GDL tức thì’ bằng cách sử dụng Kéo và thả. – ‘Instant GDL’ is best built from slabs placed on the main origin. It is best used if prism shape is not going to changemuch. Otherwise, define the prism with parameters.‘Instant GDL ’được xây dựng tốt nhất từ các phiến đặt trên nguồn gốc chính. Nó được sử dụng tốt nhất nếu hình dạng lăng kính không thay đổi nhiều. Nếu không, hãy xác định lăng kính với các tham số. – The most common cause of errors when writing prisms isconfusion with commas.Nguyên nhân phổ biến nhất của lỗi khi viết lăng kính là nhầm lẫn với dấu phẩy. – Wall holes for openings are normally rectangular (A and B),but you can define a special shape with the WALLHOLE command.Các lỗ khoét lỗ thông thường là hình chữ nhật (A và B), nhưng bạn có thể xác định một hình dạng đặc biệt bằng lệnh WALLHOLE.

– Flags can be set as a result of a pop-up menu, and then usedto modify the shape of the object.Các thẻ có thể được thiết lập là kết quả của một menu bật lên, và sau đó được sử dụng để sửa đổi hình dạng của đối tượng.

Object Making with ArchiCAD

79

Chapter 5: The Power of PRISM

80

Object Making with ArchiCAD

Chapter 6: Looking into Autoscripted GDL

Chapter 6

Looking into Autoscripted GDL Xem xét GDL được mô tả tự động It is valuable to look into the scripts of objects generated without GDL and know how to modify them. Điều có giá trị là xem xét các tập lệnh của các đối tượng được tạo ra mà không có GDL và biết cách sửa đổi chúng.

Object Making with ArchiCAD

81

Chapter 6: Looking into Autoscripted GDL

6.1 Looking into Autoscripted GDL Xem xét GDL được mô tả tự động There is a middle road in Object Making Có một con đường trung gian trong Tạo đối tượng Earlier, we practised making objects without GDL. We have now tried making objects with GDL. It may seem to you that the message of this book is that making objects without GDL shouldmake you feel guilty. This is not so! You can make excellent objects without GDL, but you know that you are rejecting the chances of them being parametric. By contrast, if you make objects with GDL, you will feel virtuous – but you may become soenthusiastic about GDL that you try to do all the work yourself.Trước đó, chúng tôi đã thực hành tạo các đối tượng không có GDL. Bây giờ chúng tôi đã thử tạo các đối tượng bằng GDL. Đối với bạn, có vẻ như thông điệp của cuốn sách này là việc tạo ra các đồ vật không có GDL sẽ khiến bạn cảm thấy tội lỗi. Đây không phải là như vậy! Bạn có thể tạo ra các đối tượng tuyệt vời mà không cần GDL, nhưng bạn biết rằng bạn đang từ chối khả năng chúng là tham số. Ngược lại, nếu bạn tạo ra các đồ vật bằng GDL, bạn sẽ cảm thấy mình có đức - nhưng bạn có thể trở nên nhiệt tình với GDL đến mức bạn cố gắng tự mình làm tất cả công việc. You can suffer from exhaustion putting in the hours, and frustration if the results are not as good as hoped for.Bạn có thể bị kiệt sức vì làm việc hàng giờ, và thất vọng nếu kết quả không tốt như mong đợi. However, there is a middle road that you can follow. You can get ArchiCAD to do much of the work for you and then come in at thehalf way point and add some of the qualities that make the objectparametric. You can also make individual components using the ‘Instant GDL’ method, then move them into the GDL script, and use ADDand ROTto position the component.Tuy nhiên, có một con đường giữa mà bạn có thể đi theo. Bạn có thể yêu cầu ArchiCAD thực hiện phần lớn công việc cho bạn và sau đó đi vào nửa chặng đường và thêm một số phẩm chất tạo nên tham số của đối tượng. Bạn cũng có thể tạo các thành phần riêng lẻ bằng phương pháp ‘GDL tức thì’, sau đó di chuyển chúng vào tập lệnh GDL và sử dụng ADD và ROT để định vị thành phần. First, let’s look at an object completely made with ArchiCAD’s owntools and saved as an object.Đầu tiên, hãy xem một đối tượng được tạo hoàn toàn bằng các công cụ của riêng ArchiCAD và được lưu dưới dạng một đối tượng.

Making objects in the ArchiCAD environment Tạo các đối tượng trong môi trường ArchiCAD Anybody who uses ArchiCAD eventually has the curiosity to open the 3D script of an object made in the ArchiCAD

environment – and has been thoroughly scared. The autoscripted object containsa mass of complex ‘industrial’ code that is off putting to look at, and unstructured. It is good enough for the GDL interpreter – but it is not for humans to fully understand. By comparison, ‘creative’ GDL that has been composed by a human looks clean and uncluttered – if it is written with parameters, it is capable of extension into something more powerful from just a humble beginning.Bất kỳ ai sử dụng ArchiCAD cuối cùng đều tò mò muốn mở tập lệnh 3D của một vật thể được tạo ra trong môi trường ArchiCAD - và đã hoàn toàn sợ hãi. Đối tượng được viết mã tự động chứa một lượng lớn mã ‘công nghiệp’ phức tạp mà chúng ta không thể xem xét và không có cấu trúc. Nó đủ tốt cho trình thông dịch GDL - nhưng nó không dành cho con người để hiểu đầy đủ. Để so sánh, GDL ‘sáng tạo’ do con người tạo ra trông sạch sẽ và gọn gàng - nếu nó được viết với các tham số, nó có khả năng mở rộng thành một thứ gì đó mạnh mẽ hơn chỉ từ một khởi đầu khiêm tốn. If you can become familiar with the look and organization of autoscripted code and make use of it in easy steps, it is not as scary as you first thought.Nếu bạn có thể làm quen với giao diện và tổ chức của mã được viết tự động và sử dụng nó trong các bước đơn giản, thì điều đó không đáng sợ như bạn nghĩ lúc đầu. Let’s remind you again how to make objects using ArchiCAD’s own tools. We have two main methods. Make the object using theSlab, Wall and Roof tools, select it in the floor plan window. Select with the pointer tool the object you have made from these 3Dtools. Then: Hãy nhắc lại cho bạn cách tạo các đối tượng bằng các công cụ của riêng ArchiCAD. Chúng tôi có hai phương pháp chính. Tạo đối tượng bằng các công cụ Slab, Wall và Roof, chọn nó trong cửa sổ sơ đồ mặt bằng. Chọn bằng công cụ con trỏ đối tượng bạn đã tạo từ các công cụ 3D này. Sau đó:

82

Object Making with ArchiCAD

Chapter 6: Looking into Autoscripted GDL

1. If the object has been made the right way up, use the ArchiCAD File menu to Save Special as an ArchiCAD Object.Save it into one of your loaded libraries.Nếu đối tượng đã được tạo đúng cách, hãy sử dụng menu Tệp ArchiCAD để Lưu Đặc biệt dưới dạng Đối tượng ArchiCAD. Lưu nó vào một trong các thư viện đã tải của bạn. 2. If the object has been made the right way up, or on its side, view in the 3D window in plan or elevation, Save the resultingview as a library part – a .GSM object. Save it into one of yourloaded libraries.Nếu đối tượng đã được tạo đúng hướng lên hoặc ở phía của nó, xem trong cửa sổ 3D ở mặt bằng hoặc độ cao, Lưu chế độ xem kết quả dưới dạng một phần thư viện - một đối tượng .GSM. Lưu nó vào một trong các thư viện đã tải của bạn.

Examine the 3D script of a typical autoscripted object Kiểm tra tập lệnh 3D của một đối tượng được mô tả tự động điển hình Open the table that was used as an example in Chapter 2, or makeyourself a quick table now using method 1 above. We will run through explaining what is contained in the script, and then look at ways of shortening and modifying it. Try to make it approx 1.5 m wide by 0.9 m deep.Mở bảng được sử dụng làm ví dụ trong Chương 2 hoặc tạo cho bạn một bảng nhanh ngay bây giờ bằng cách sử dụng phương pháp 1 ở trên. Chúng tôi sẽ chạy qua giải thích những gì có trong tập lệnh, sau đó xem xét các cách rút ngắn và sửa đổi nó. Cố gắng làm cho nó rộng khoảng 1,5 m x sâu 0,9 m.

Object Making with ArchiCAD

The 3D script starts out with some labelling. It’s good to have date and title and author at the start of the script. Do likewise when you write creative scripts. Tập lệnh 3D bắt đầu với một số nhãn. Tốt hơn là nên có ngày tháng, tiêu đề và tác giả ở đầu kịch bản. Tương tự như vậy khi bạn viết kịch bản sáng tạo. ! Name : table_01.GSM ! Date : Monday, May 1, 2000 ! Version : 6.50 ! Written by ArchiCAD MULX A/ 1.521409 MULY B/ 0.919806 MULZ ZZYZX/ 0.7 ADD 0.771409, 0.45, BODY -1 MODEL SOLID RESOL 36

-0.0

The three MULcommands enable the object to be stretchy. When itwas first made, the table was drawn by eye in the floor plan, so itwas approximately 1.5 meters by 0.9 meters, and the height was 0.7 meters.Ba lệnh MUL cho phép đối tượng co giãn. Khi lần đầu tiên được sản xuất, chiếc bàn được vẽ bằng mắt trong sơ đồ mặt bằng, vì vậy nó có kích thước xấp xỉ 1,5 mét x 0,9 mét và chiều cao là 0,7 mét.

83

Chapter 6: Looking into Autoscripted GDL

ZZYZX is what GDL denotes for the height. This rather curious name arises from the need to call it something related to Z. But it could not be called Z as many older objects from ArchiCAD 4.5 and earlier used Z for other purposes and might no longer work in 5.0 and later. The GDL development team chose ‘zzyzx’ after a small town in Arizona, the last town in the US telephone directory.ZZYZX là những gì GDL biểu thị cho chiều cao. Cái tên khá kỳ lạ này xuất phát từ nhu cầu gọi nó là thứ gì đó liên quan đến Z. Nhưng nó không thể được gọi là Z vì nhiều đối tượng cũ hơn từ ArchiCAD 4.5 trở về trước đã sử dụng Z cho các mục đích khác và có thể không còn hoạt động trong 5.0 trở lên. Nhóm phát triển GDL đã chọn ‘zzyzx’ theo tên một thị trấn nhỏ ở Arizona, thị trấn cuối cùng trong danh bạ điện thoại của Hoa Kỳ. Because the autoscript is accurate to a millionth of a meter, you geta vast number of trailing decimals.Bởi vì chỉ số tự động chính xác đến một phần triệu mét, bạn sẽ nhận được một số lượng lớn các số thập phân theo sau. Now you can see how stretchiness work in autoscripted objects. Ifyou stretch the table to 2.0 meters, the MULXcommand will ‘multiply everything in the X direction by A/1.521409’. As ‘A’ has anewly stretched value of 2.0, the multiplication will be 2.0/ 1.521409. This will make it slightly wider. If you stretch the height to be 1.2 meters, the vertical components will all be multiplied by 1.2/0.7. The MULYcommand works in the same way.Bây giờ bạn có thể thấy cách tính kéo dài hoạt động trong các đối tượng được mô tả tự động. Nếu bạn kéo dài bảng thành 2,0 mét, lệnh MULX sẽ ‘nhân mọi thứ theo hướng X với A / 1.521409’. Vì ‘A’ có giá trị mới được kéo dài là 2.0, phép nhân sẽ là 2.0 / 1.521409. Điều này sẽ làm cho nó rộng hơn một chút. Nếu bạn kéo dài chiều cao là 1,2 mét, tất cả các thành phần dọc sẽ được nhân với 1,2 / 0,7. Lệnh MULY hoạt động theo cách tương tự. The ADDcommand is an offset – this is in case you built the object a long distance from the origin of the main floor plan. Some peoplebuild their objects hundreds, sometimes thousands of meters fromthe project origin. If you build very close to the project origin (it must be the main project origin, not a temporary one) then this offset will be very small. This offset will place the object’s own origin within its own curtilage, usually, the bottom left-hand corner.Lệnh ADD là một phần bù điều này là trong trường hợp bạn xây dựng đối tượng một khoảng cách xa so với điểm gốc của sơ đồ tầng chính. Có người xây dựng đối tượng của mình cách gốc dự án hàng trăm, có khi hàng nghìn mét. Nếu bạn xây dựng rất gần với gốc dự án (phải là gốc dự án chính, không phải là tạm thời) thì phần bù đắp này sẽ rất nhỏ. Sự bù đắp này sẽ đặt gốc của đối tượng bên trong sụn của chính nó, thường là, ở góc dưới cùng bên trái. Vì bảng này được xây dựng tập trung trên nguồn gốc của dự án, bạn có thể thấy rằng phần bù xấp xỉ một nửa chiều rộng và chiều sâu của bảng - do đó, nó đang đặt gốc của bảng ở một góc. As this table was built centrally over the project origin, you can seethat the offset is approximately half the width and depth of the table – so that it is putting the table’s own origin at one corner. Lệnh BODY -1 là lệnh mà autoscripts luôn mang theo. Đây là một lệnh cho trình thông dịch GDL để "đảm bảo tính toàn vẹn

3D của mỗi đối tượng". Chúng không cần thiết trong GDL sáng tạo cho đến khi bạn thực hiện các tác vụ phức tạp hơn, chẳng hạn như lệnh TUBE. The BODY -1command is one that autoscripts always carry. Theseare a command to the GDL interpreter to ‘ensure the 3D integrity ofeach object’. They are not necessary in creative GDL until you get into more complex tasks such as the TUBEcommand. MODEL SOLIDjust tells the object to be solid. This is the default condition, so if you did not write it, your model would still be solideven without the command. RESOL 36 tells it that all rounded surfaces are to have 36 polygons to make up a full circle. 36 is the default value for this, so you do not really need this either.MODEL SOLID chỉ cho vật thể là chất rắn. Đây là điều kiện mặc định, vì vậy nếu bạn không viết nó, mô hình của bạn sẽ vẫn ổn định ngay cả khi không có lệnh. RESOL 36 nói với nó rằng tất cả các bề mặt tròn phải có 36 đa giác để tạo thành một hình tròn đầy đủ. 36 là giá trị mặc định cho điều này, vì vậy bạn cũng không thực sự cần nó. GLOB_SCRIPT_TYPE = 3 GLOB_CONTEXT = 3 GLOB_SCALE = 100 GLOB_NORTH_DIR = 90.0 GLOB_FRAME_NR = -1 GLOB_EYEPOS_X = -0.780905 GLOB_EYEPOS_Y = -0.557944 GLOB_EYEPOS_Z = 0.3 GLOB_TARGPOS_X = -1.26576 GLOB_TARGPOS_Y = -0.292552 GLOB_HSTORY_HEIGHT = 4.7

84

Object Making with ArchiCAD

Chapter 6: Looking into Autoscripted GDL

These ‘GLOB’ items are called Global Variables. They are not doing anything here except recording the conditions that prevailed whenthe object was made. At the time the table was made the North point was in the 90˚ direction, there was no animation taking place(so the Frame number is set to -1), the camera eye and target positions were noted, the drawing scale was 1:100. These are not commands, they are a historical record.Các mục ‘GLOB’ này được gọi là Biến toàn cục. Họ không làm bất cứ điều gì ở đây ngoại trừ việc ghi lại các điều kiện đã áp dụng khi đối tượng được tạo ra. Tại thời điểm đặt bảng, điểm Bắc ở hướng 90˚, không có hoạt ảnh nào diễn ra (vì vậy số Khung được đặt thành -1), vị trí mắt camera và mục tiêu được ghi nhận, tỷ lệ bản vẽ là 1: 100. Đây không phải là lệnh, chúng là một bản ghi lịch sử. You can find out more about Global Variables in Appendix A of the GDL Reference Manual. Meanwhile, you can cheerfully deleteall lines beginning with ‘GLOB’. Bạn có thể tìm hiểu thêm về Biến toàn cục trong Phụ lục A của Sổ tay Tham khảo GDL. Trong khi đó, bạn có thể vui vẻ xóa tất cả các dòng bắt đầu bằng ‘GLOB’.

!!Slab-016 PEN 1 ADDZ 0.67 GLOB_LAYER = " Library Constructions"GLOB_ID = "Slab-016" GLOB_INTID = 14 BODY -1 CPRISM_ "Limestone, shiny", "Limestone, rough","Limestone, rough", 5, 0.03, -0.771409, 0.469806, 15, 0.75, 0.469806, 15, 0.75, -0.45, 15, -0.771409, -0.45, 15, -0.771409, 0.469806, -1 BODY -1 DEL 1

This is the first real 3D element in the script. It is obviously the tabletop as it is only 3 cm thick and is 0.67 meters off the floor. The tabletop was made with a Slab tool, and this always translatesinto a ‘CPRISM_’. The syntax for CPRISM_was explained in chapter 5. The prism is lifted by 0.67 and drawn; then the DEL command returns the cursor to the origin.Đây là yếu tố 3D thực đầu tiên trong kịch bản. Nó rõ ràng là mặt bàn vì nó chỉ dày 3 cm và cách mặt sàn 0,67 mét. Mặt bàn được tạo bằng công cụ Slab và điều này luôn chuyển thành ‘CPRISM_’. Cú pháp cho CPRISM_ đã được giải thích trong chương 5. Lăng kính được nâng lên 0,67 và được vẽ; thì lệnh DEL trả con trỏ về điểm gốc. !!Slab-016 ADDZ 0.57 GLOB_INTID = 15 BODY -1 CPRISM_ "Limestone, shiny", "Limestone, rough","Limestone, rough", 10, 0.1, -0.642659, 0.337009, 15, 0.615665, 0.337009, 15, 0.615665, -0.322618, 15, -0.642659, -0.322618, 15, -0.642659, 0.337009, -1,

BODY DEL Object Making with ArchiCAD

-1 1

-0.616168, 0.583876, 0.583876, -0.616168, -0.616168,

0.307869, 0.307869, -0.288179, -0.288179, 0.307869,

15, 15, 15, 15, -1

85

Chapter 6: Looking into Autoscripted GDL

This is the frame under the tabletop. It is obviously the frame because the height of the prism is 0.57 metres, and the thickness of the prism is 0.1 meters. The frame is in fact a prism with a hole through it. The masking values shows you how a drilled hole works in GDL – the 15s are points on the outline, the first -1 meansthat the outline is complete, and the second occurrence of -1 means that the outline of the hole is complete. Đây là khung dưới mặt bàn. Nó rõ ràng là khung vì chiều cao của lăng kính là 0,57 mét, và bề dày của lăng kính là 0,1 mét. Khung thực chất là một lăng kính có một lỗ xuyên qua nó. Các giá trị mặt nạ cho bạn biết cách một lỗ khoan hoạt động trong GDL - 15 là điểm trên đường viền, -1 đầu tiên có nghĩa là đường viền đã hoàn thành và lần xuất hiện thứ hai của -1 có nghĩa là đường viền của lỗ đã hoàn thành. The following commands are obviously table legs as they are all 0.67 meters in thickness, and are not lifted above the XY groundplane. If you analyze the XY points, they are all approximatelysquare in a sectional size of 65 mm. Các lệnh sau rõ ràng là chân bảng vì chúng đều là Độ dày 0,67 mét và không được nâng lên trên mặt đất XY. Nếu bạn phân tích các điểm XY, tất cả chúng đều xấp xỉ hình vuông với kích thước mặt cắt là 65 mm. !!Slab-017 GLOB_ID = "Slab-017" GLOB_INTID = 16 BODY -1 CPRISM_ "Limestone, shiny", "Limestone, rough","Limestone, rough", 5, 0.67, -0.658554, 0.355553, 15, -0.597624, 0.355553, 15, -0.597624, 0.286676, 15, -0.658554, 0.286676, 15, -0.658554, 0.355553, -1 BODY -1 !!Slab-017 GLOB_INTID = 17 BODY -1 CPRISM_ "Limestone, shiny", "Limestone, rough","Limestone, rough", 5, 0.67, 0.567981, 0.355553, 15, 0.62891, 0.355553, 15, 0.62891, 0.286676, 15, 0.567981, 0.286676, 15, 0.567981, 0.355553, -1 BODY -1 !!Slab-017 GLOB_INTID = 18 BODY -1 CPRISM_ "Limestone, shiny", "Limestone, rough","Limestone, rough", 5, 0.67, -0.658554, -0.269636, 15, -0.597624, -0.269636, 15, -0.597624, -0.338512, 15, -0.658554, -0.338512, 15, -0.658554, -0.269636, -1 BODY -1 !!Slab-017 GLOB_INTID = 19 BODY -1 CPRISM_ "Limestone, shiny", "Limestone, rough","Limestone, rough", 5, 0.67, 0.567981, -0.269636, 15,

0.62891, 0.62891,

86

-0.269636, -0.338512,

15, 15, Object Making with ArchiCAD

Chapter 6: Looking into Autoscripted GDL

BODY

-1

0.567981, 0.567981,

-0.338512, -0.269636,

15, -1

What about the 2D Script? Còn về Script 2D? Look at the 2D script – it may well look just as complicated, but made of LINE2and POLY2commands. If you modify the shape or size of the 3D object significantly, you may have to delete thewhole 2D script and replace it with a PROJECT2 command andsome Hotspots at the corners.Nhìn vào tập lệnh 2D - nó có thể trông cũng phức tạp, nhưng được tạo từ các lệnh LINE2 và POLY2. Nếu bạn sửa đổi đáng kể hình dạng hoặc kích thước của đối tượng 3D, bạn có thể phải xóa toàn bộ tập lệnh 2D và thay thế nó bằng lệnh PROJECT2 và một số Điểm phát sóng ở các góc.

This can be tuned up – to be parametric Điều này có thể được điều chỉnh - để được tham số If you have the object open, save a copy of it under a new name – ‘Table_02.GSM’ perhaps. Now make new parameters for Materials, Pen colors and Frame depth. Nếu bạn có đối tượng đang mở, hãy lưu một bản sao của nó dưới tên mới - có lẽ là ‘Table_02.GSM’. Bây giờ tạo các thông số mới cho Vật liệu, Màu bút và Độ sâu khung hình.

ArchiCAD

Object Making with

Simplify A and B to exactly 1.5 m and 0.9 m, the dimensions we wanted in the first place when building the inaccurate table. Here,the parameter box is in millimeters. Do not forget to keep strictly to meters when writing in the actual script.Đơn giản hóa A và B thành chính xác 1,5 m và 0,9 m, các kích thước mà chúng tôi mong muốn ngay từ đầu khi xây dựng bảng không chính xác. Ở đây, hộp tham số tính bằng milimét. Đừng quên giữ nghiêm ngặt đến mét khi viết trong kịch bản thực tế.

Rebuilding the 3D Script Xây dựng lại tập lệnh 3D Modify the labelling at the top to remind yourself when you altered the object. Retain the first two MUL commands so that the table will remain stretchy, but clean them up with the exact valuesof A and B. Delete the MULZ command – this will be done parametrically. Delete the offset, but remember to delete the equivalent offset command in the 2D script – or the symbol and the actual table will not coincide in location. Sửa đổi nhãn ở trên cùng để nhắc nhở bản thân khi bạn đã thay đổi đối tượng. Giữ lại hai lệnh MUL đầu tiên để bảng vẫn co giãn, nhưng làm sạch chúng bằng các giá trị chính xác của A và B. Xóa lệnh MULZ - điều này sẽ được thực hiện theo tham số. Xóa phần bù, nhưng hãy nhớ xóa lệnh bù tương đương trong tập lệnh 2D - nếu không ký hiệu và bảng thực tế sẽ không trùng khớp về vị trí. Put in a parametric PENcommand, provide a label for the tabletop, and remove all the redundant GLOBs and BODYs.Đặt lệnh PEN tham số, cung cấp nhãn cho mặt bàn và xóa tất cả GLOBs và BODY thừa ! Name : table_01.GSM ! Date : Monday, May 1, 2000 ! Version : 6.50 ! Written by ArchiCAD ! modified June 2000 by DNC

87

Chapter 6: Looking into Autoscripted GDL MULX A/ 1.50 MULY B/ 0.90 PEN pcol !Tabletop ADDZ zzyzx-tthik cPRISM_ topmat, framat, framat,5, tthik, -0.75, 0.45, 15, 0.75, 0.45, 15, 0.75,-0.45, 15, -0.75,-0.45, 15, -0.75, 0.45, -1 DEL 1

For the tabletop, change the ADDZ command to be the total tableheight minus the tabletop thickness. Then change the tabletop thickness to our new parameter of ‘tthik’. Then clean up all the ‘millionth of a meter’ decimals to clean rounded dimensions. As the CPRISM allows you to specify top material, bottom material and side material within the command, replace all that Limestonewith your new material parameters of ‘framat’ and ‘topmat’.Đối với mặt bàn, hãy thay đổi lệnh ADDZ thành tổng chiều cao của bàn trừ đi độ dày của mặt bàn. Sau đó, thay đổi độ dày của mặt bàn thành thông số mới của chúng tôi là ‘tthik’. Sau đó, xóa tất cả các số thập phân ‘phần triệu của một mét’ để làm sạch các kích thước làm tròn. Vì CPRISM cho phép bạn chỉ định vật liệu trên cùng, vật liệu dưới cùng và vật liệu bên trong lệnh, hãy thay thế tất cả Đá vôi đó bằng các thông số vật liệu mới của bạn là ‘framat’ và ‘topmat’. Although it takes a bit more thinking about, you can do the samething to the frame under the table top, simplifying all the dimensions down to two decimal places, and making it so that theframe has a thickness of 30 mm. Accepting that the height of theframe is 0.1 meters, you can work out how high it has to be raisedby the ADDZcommand. Notice that after the tabletop and the table frame commands arecomplete, the GDL returns the cursor to the origin. This is good.Mặc dù phải suy nghĩ nhiều hơn một chút, bạn có thể làm điều tương tự với khung bên dưới mặt bàn, đơn giản hóa tất cả các kích thước xuống hai chữ số thập phân và làm cho khung có độ dày 30 mm. Chấp nhận rằng chiều cao của khung là 0,1 mét, bạn có thể tính toán độ cao của khung bằng lệnh ADDZ. Lưu ý rằng sau khi hoàn tất các lệnh về mặt bàn và khung bảng, GDL sẽ trả lại con trỏ về điểm gốc. Điều này là tốt. !Tableframe ADDZ zzyzx-tthik-0.1 cPRISM_ framat, framat, framat,10, 0.1, -0.64, 0.34, 15, 0.64, 0.34, 15, 0.64,-0.34, 15, -0.64,-0.34, 15, -0.64, 0.34, -1, -0.61, 0.31, 15, 0.61, 0.31, 15, 0.61,-0.31, 15, -0.61,-0.31, 15, -0.61, 0.31, -1 DEL 1

If you have followed thus far, you have momentum and you can push this process to completion. Label and change the table legs inthe same way. Alter the height of the legs to the height of the tableminus the tabletop thickness. Change the materials to ‘legmat’. Nếu bạn đã theo dõi cho đến nay, bạn có động lực và bạn có thể thúc đẩy quá trình này hoàn thành. Dán nhãn và thay đổi chân bàn theo cách tương tự. Thay đổi chiều cao của chân với chiều cao của bàn trừ đi độ dày của mặt bàn. Thay đổi vật liệu thành ‘legmat’.

88

Object Making with ArchiCAD

Chapter 6: Looking into Autoscripted GDL !Legs CPRISM_ legmat, legmat, legmat,5, zzyzx-tthik, -0.658554, 0.355553, 15, -0.597624, 0.355553, 15, -0.597624, 0.286676, 15, -0.658554, 0.286676, 15, -0.658554, 0.355553, -1 CPRISM_ legmat, legmat, legmat,5, zzyzx-tthik, 0.567981, 0.355553, 15, 0.62891, 0.355553, 15, 0.62891, 0.286676, 15, 0.567981, 0.286676, 15, 0.567981, 0.355553, -1 CPRISM_ legmat, legmat, legmat,5, zzyzx-tthik, -0.658554, -0.269636, 15, -0.597624, -0.269636, 15, -0.597624, -0.338512, 15, -0.658554, -0.338512, 15, -0.658554, -0.269636, -1 CPRISM_ legmat, legmat, legmat,5, zzyzx-tthik, 0.567981, -0.269636, 15, 0.62891, -0.269636, 15, 0.62891, -0.338512, 15, 0.567981, -0.338512, 15, 0.567981, -0.269636, -1 DEL TOP

To finish, you can issue a DEL TOPcommand. This is similar to the DELcommand, but it DELs everything, including all the MULcommands at the beginning. If you write DEL 2, this will work just as well. DEL 2 is better because it requires you to count thecursor commands at the start of the script, which means that youare in full control of the process – DEL TOPis just a guess. Để kết thúc, bạn có thể ra lệnh DEL TOP. Điều này tương tự như lệnh DEL, nhưng nó XÓA mọi thứ, bao gồm tất cả các lệnh MUL ở đầu. Nếu bạn viết DEL 2, điều này cũng sẽ hiệu quả. DEL 2 tốt hơn vì nó yêu cầu bạn đếm các lệnh con trỏ ở đầu tập lệnh, có nghĩa là bạn có toàn quyền kiểm soát quá trình - DEL TOP chỉ là phỏng đoán.

Find and Replace, to clean up the script Tìm và Thay thế, để xóa tập lệnh Finally, you could use the Find and Replace command to weed outall those spaces in the original script. Type 3 spaces in the Find field and one space in the Replace field. Place your text cursor at the top of the script, and hit the ‘Replace All’ button. Your text willbe cleaned up nicely. Cuối cùng, bạn có thể sử dụng lệnh Tìm và Thay thế để loại bỏ tất cả những khoảng trống đó trong tập lệnh gốc. Nhập 3 dấu cách vào trường Tìm và một dấu cách vào trường Thay thế. Đặt con trỏ văn bản của bạn ở đầu tập lệnh và nhấn nút 'Thay thế tất cả'. Văn bản của bạn sẽ được làm sạch một cách độc đáo.

Object Making with ArchiCAD

89

Chapter 6: Looking into Autoscripted GDL

Add the final touches of quality Thêm những nét cuối cùng về chất lượng This Table could now be used, but there is an extra level of qualitywe can give it. The tabletop and frame were ‘tidied up’ – their eyeballed dimensions were converted to exact clean ones. The table legs could now appear somewhat uneven where they join the frame. If you use the BLOCKcommand, or better, use CPRISM,you could provide much better table legs. As the legs were square sections, approx 6-7 cm wide, let’s make them exactly 7 cm wide, and modify the CPRISM_so that it is axially symmetrical, as follows: Bảng này hiện có thể được sử dụng, nhưng chúng tôi có thể cung cấp thêm một mức chất lượng nữa. Mặt bàn và khung đã được 'thu dọn' - kích thước nhãn cầu của chúng đã được chuyển đổi thành kích thước sạch sẽ chính xác. Các chân bàn bây giờ có thể có vẻ không đồng đều khi chúng ghép vào khung. Nếu bạn sử dụng lệnh BLOCK hoặc tốt hơn là sử dụng CPRISM, bạn có thể cung cấp chân bàn tốt hơn nhiều. Vì chân là các phần hình vuông, rộng khoảng 6-7 cm, hãy làm cho chúng rộng chính xác 7 cm và sửa đổi CPRISM_ để nó đối xứng theo trục, như sau: !One Leg CPRISM_ legmat, legmat, legmat,5, zzyzxtthik, 0.035, 0.035, 15, -0.035, 0.035, 15, -0.035,-0.035, 15, 0.035,-0.035, 15, 0.035, 0.035, -1

Copy the prism command that produces one of the legs, and adaptthe XY locations as shown. Do a little sketch like this, and numbereach corner. You can see that the prism starts from the top right, and works its way anti-clockwise around the tableleg. It is important to make sure the start point [1] is the same as the end point [5]. Use the diagram to make sure you get your minus signs in the right place.Sao chép lệnh lăng kính tạo ra một trong các chân và điều chỉnh các vị trí XY như được hiển thị. Làm một bản phác thảo nhỏ như thế này, và đánh số mỗi góc. Bạn có thể thấy rằng lăng kính bắt đầu từ trên cùng bên phải và hoạt động ngược chiều kim đồng hồ xung quanh tableleg. Điều quan trọng là đảm bảo điểm bắt đầu [1] giống với điểm kết thúc [5]. Sử dụng sơ đồ để đảm bảo rằng bạn đặt đúng chỗ các dấu trừ. You can simplify it even further. The only point in using CPRISMis if the materials of top, bottom and sides are different. For creative GDL with a solid prism that is all one color, you can use plain PRISM, and declare the Material value beforehand. You canremove the 15s and the underscore. Make sure you also remove the trailing comma.Bạn có thể đơn giản hóa nó hơn nữa. Điểm duy nhất trong việc sử dụng CPRISM là nếu vật liệu của mặt trên, mặt dưới và các mặt khác nhau. Đối với GDL sáng tạo với lăng kính đặc có một màu, bạn có thể sử dụng PRISM đơn giản và khai báo trước giá trị Vật liệu. Bạn có thể xóa số 15 và

dấu gạch dưới. Đảm bảo rằng bạn cũng loại bỏ dấu phẩy ở cuối. !One Leg - simplest statementMATERIAL legmat PRISM 5, zzyzx-tthik, 0.035, 0.035, -0.035, 0.035, -0.035,-0.035, 0.035,-0.035, 0.035, 0.035

Now that you have a single leg, you can use the ADD command and post a leg to each corner of the frame. Now that the frame and leg are defined precisely, you will have a precise connection of frame and leg that will look good close up. If you remember, the internal line of the table frame was defined in meters. So you canuse the same dimensions. Bây giờ bạn đã có một chân, bạn có thể sử dụng lệnh ADD và đặt một chân lên mỗi góc của khung hình. Bây giờ khung và chân đã được xác định chính xác, bạn sẽ có một kết nối chính xác giữa khung và chân trông cận cảnh tốt. Nếu bạn nhớ, dòng bên trong của khung bảng được xác định bằng mét. Vì vậy, bạn có thể sử dụng các kích thước giống nhau.

90

Object Making with ArchiCAD

Chapter 6: Looking into Autoscripted GDL !All Leg - simpler statementMATERIAL legmat All Leg - câu lệnh đơn giản hơn MATERIAL legmat ADD -0.61, 0.31, 0 PRISM 5, zzyzx-tthik, 0.035, 0.035, -0.035, 0.035, -0.035,-0.035, 0.035,-0.035, 0.035, 0.035 DEL 1 ADD 0.61, 0.31, 0 PRISM 5, zzyzx-tthik, 0.035, 0.035, -0.035, 0.035, -0.035,-0.035, 0.035,-0.035, 0.035, 0.035 DEL 1 ADD 0.61,-0.31, 0 PRISM 5, zzyzx-tthik, 0.035, 0.035, -0.035, 0.035, -0.035,-0.035, 0.035,-0.035, 0.035, 0.035 DEL 1 ADD -0.61,-0.31, 0 PRISM 5, zzyzx-tthik, 0.035, 0.035, -0.035, 0.035, -0.035,-0.035, 0.035,-0.035, 0.035, 0.035 DEL 1

As each leg is built, you use DEL 1 to get back to the origin, and wait for the next command. Khi mỗi chân được xây dựng, bạn sử dụng DEL 1 để quay lại điểm gốc và đợi lệnh tiếp theo.

Object Making with ArchiCAD

The table legs now have a clean relationship with the frame – as in a mortice and tenon joint Chân bàn bây giờ có mối quan hệ sạch sẽ với khung - như trong khớp nối mộng và khớp mộng

91

Chapter 6: Looking into Autoscripted GDL

You are probably getting worried by this time about the amount oftyping involved. If you make the maximum use of Copy and Paste,the amount of typing is not huge as most of your effort is in modifying commands rather than typing from new. Bạn có thể đang lo lắng vào thời điểm này về số lượng liên quan đến việc đánh máy. Nếu bạn sử dụng tối đa tính năng Sao chép và Dán, thì số lượng gõ không quá lớn vì phần lớn nỗ lực của bạn là sửa đổi các lệnh chứ không phải gõ từ mới. You might also want the option to change the leg shape from square to cylinder or cone. For this you would need to reorganizethe script so that the legs are capable of having different shapes. The key to this is the SUBROUTINE. This is where a group of codeis used often. Instead of retyping it again and again, it is better togive it a number, and just call it by number with a GOSUB command when a leg needs to be drawn. This tableleg is the idealopportunity to illustrate the use of the subroutine. See chapter 7 for more on subroutines. Bạn cũng có thể muốn tùy chọn thay đổi hình dạng chân từ hình vuông sang hình trụ hoặc hình nón. Đối với điều này, bạn sẽ cần phải tổ chức lại script để các chân có thể có các hình dạng khác nhau. Chìa khóa của điều này là SUBROUTINE. Đây là nơi một nhóm mã được sử dụng thường xuyên. Thay vì gõ lại nhiều lần, tốt hơn là bạn nên cho nó một số và chỉ cần gọi nó bằng số bằng lệnh GOSUB khi cần rút ra một chân. Tableleg này là cơ hội lý tưởng để minh họa việc sử dụng chương trình con. Xem chương 7 để biết thêm về các chương trình con. !All Leg - simpler statementMATERIAL legmat ADD -0.61, 0.31, 0 GOSUB 100:!Draw one legDEL 1 ADD 0.61, 0.31, 0 GOSUB 100:!Draw one legDEL 1 ADD 0.61,-0.31, 0 GOSUB 100:!Draw one legDEL 1 ADD -0.61,-0.31, 0 GOSUB 100:!Draw one legDEL 1

Somewhere, further down in the script, after an ENDcommand, you can have a subroutine numbered 100 that contains the PRISMstatement. Ở đâu đó, sâu hơn trong tập lệnh, sau lệnh END, bạn có thể có một chương trình con được đánh số 100 có chứa câu lệnh PRISM.

Cautionary note for modifying objects in this way Lưu ý cẩn thận khi sửa đổi các đối tượng theo cách này If you make objects using the Wall tool, and try this method of modification, you need to be more experienced. The CPRISM is really a very friendly command when you get used to it – so it is easy to modify objects made with the Slab tool. The Wall tool generates XWALLcommands in the autoscript, and these are more resistant to human intervention. As the Wall tool is frequently usedfor objects that are captured in side view from 90˚, there are some additional ROT commands at the start of the 3D script which are best left untouched. Nếu bạn tạo đồ vật bằng công cụ Wall và thử phương pháp sửa đổi này, bạn cần phải có nhiều kinh nghiệm hơn. CPRISM thực sự là một lệnh rất thân

thiện khi bạn đã quen với nó - vì vậy rất dễ dàng để sửa đổi các đối tượng được thực hiện bằng công cụ Slab. Công cụ Wall tạo ra các lệnh XWALL trong autoscript và các lệnh này có khả năng chống lại sự can thiệp của con người cao hơn. Vì công cụ Tường thường được sử dụng cho các đối tượng được chụp ở chế độ xem bên từ 90˚, nên có một số lệnh ROT bổ sung ở đầu tập lệnh 3D tốt nhất là không được tác động.

92

Object Making with ArchiCAD

Chapter 6: Looking into Autoscripted GDL

6.2 Come back to ‘Instant GDL’ Quay lại 'GDL tức thì' This is the method whereby you make a component in the ArchiCAD floor plan, then drag and drop it into a script window.(See chapter 5.) This method is not advisable for entire objects for which methods 1 and 2 are perfectly suited. But it is the ideal way to make components such as fretwork, curvy shapes, outlines for furniture legs and a hundred other uses. These can be stitched intothe structure of your creatively scripted object. It is possible to dothe same for 2D objects, such as fills and lines.Đây là phương pháp theo đó bạn tạo một thành phần trong sơ đồ tầng ArchiCAD, sau đó kéo và thả nó vào cửa sổ tập lệnh. (Xem chương 5.) Phương pháp này không được khuyến khích cho toàn bộ các đối tượng mà phương pháp 1 và 2 là hoàn toàn phù hợp. Nhưng đó là cách lý tưởng để tạo ra các thành phần như phím đàn, các hình cong, đường viền cho chân đồ nội thất và hàng trăm công dụng khác. Chúng có thể được ghép vào cấu trúc của đối tượng được viết theo kịch bản sáng tạo của bạn. Có thể làm tương tự đối với các đối tượng 2D, chẳng hạn như tô và đường.

Use 2D to help your 3D model Sử dụng 2D để trợ giúp mô hình 3D của bạn Surprisingly, the greatest assistance to creative 3D GDL is the 2D Fill tool. Drag and drop a 2D fill into the 2D Script window. Thencopy and paste the 2D fill (which by this time is a POLY2_B command) into the 3D window and convert it to a 3D command.Đáng ngạc nhiên, sự trợ giúp lớn nhất cho GDL 3D sáng tạo là công cụ 2D Fill. Kéo và thả phần tô 2D vào cửa sổ Tập lệnh 2D. Sau đó, sao chép và dán phần tô 2D (lúc này là lệnh POLY2_B) vào cửa sổ 3D và chuyển nó thành lệnh 3D. A lot of 3D commands involve drawing out a 2D profile and then doing something with it: EXTRUDEextrudes, REVOLVE lathes the section around an axis; SWEEP pulls a profile through 3D space, twisting or rescaling the section as it goes; TUBE also draws a 2D profile through 3D space, allowing it to be twisted and mitred as itgoes; PYRAMID pulls the nodes on a 2D profile to one point; RULED takes the points on a 2D profile and allows you to form a 3D solid by repeating the same number of nodes at different heights. These all use the same syntax for XY points as POLY2_B.Rất nhiều lệnh 3D liên quan đến việc vẽ ra một biên dạng 2D và sau đó thực hiện điều gì đó với nó: EXTRUDE extrude, REVOLVE tiện mặt cắt xung quanh một trục; SWEEP kéo một cấu hình qua không gian 3D, xoắn hoặc thay đổi tỷ lệ của phần khi nó đi qua; TUBE cũng vẽ một biên dạng 2D thông qua không gian 3D, cho phép nó được xoắn và mở ra khi nó di chuyển; PYRAMID kéo các nút trên biên dạng 2D về một điểm; RULED lấy các điểm trên cấu hình 2D và cho phép bạn tạo hình khối 3D bằng cách lặp lại cùng một số nút ở các độ cao khác nhau. Tất cả đều sử dụng cùng một cú pháp cho điểm XY là POLY2_B. All of these profiles support the use of Polylines. These are

outsidethe scope of this book. If you use the 2D Fill tool and force lines tobe curves, and then copy them to GDL, you will find many lines with 900 and 4000 in them. These define centres and radii of curvature. If you copy and paste these 2D profiles and use them inthis way, you don’t entirely have to know how they work. They just do.Tất cả các cấu hình này đều hỗ trợ việc sử dụng Polylines. Những điều này nằm ngoài phạm vi của cuốn sách này. Nếu bạn sử dụng công cụ 2D Fill và ép các đường thành đường cong, sau đó sao chép chúng vào GDL, bạn sẽ tìm thấy nhiều đường với 900 và 4000 trong đó. Chúng xác định tâm và bán kính của độ cong. Nếu bạn sao chép và dán các cấu hình 2D này và sử dụng chúng theo cách này, bạn không hoàn toàn phải biết chúng hoạt động như thế nào. Họ chỉ làm.

Try instant GDL with a REVOLVE Dùng thử GDL tức thì với một REVOLVE There is not time to go into all of these, but let’s try one – REVOLVE. Look up REVOLVEin the GDL Reference Manual. Thismethod makes it easy beyond your expectations to make a lathedobject. Basically you only have to draw a 2D profile in the Positive-Y zone – that means all point above the X axis – and youcan revolve it. When you draw the profile, you have to close it.Không có thời gian để đi sâu vào tất cả những điều này, nhưng chúng ta hãy thử một - REVOLVE. Tra cứu REVOLVE trong Hướng dẫn tham khảo GDL. Phương pháp này giúp bạn dễ dàng tạo một vật thể tiện ngoài mong đợi. Về cơ bản, bạn chỉ phải vẽ một biên dạng 2D trong vùng Dương-Y - có nghĩa là tất cả các điểm trên trục X - và bạn có thể xoay nó. Khi bạn vẽ hồ sơ, bạn phải đóng nó. The easiest way is to select a ‘silly’ point somewhere well away from the main profile. If it is in the negative-Y zone, you will easilyidentify it when it is converted into GDL code.Cách dễ nhất là chọn một điểm 'ngớ ngẩn' ở đâu đó cách xa hồ sơ chính. Nếu nó nằm trong vùng âm-Y, bạn sẽ dễ dàng nhận ra nó khi nó được chuyển thành mã GDL. Object Making with ArchiCAD

93

Chapter 6: Looking into Autoscripted GDL

Create a New Library Part from the File menu, and position the 2Dwindow to the right of the screen, so that it is next to the project floor plan. Drag and Drop the 2D fill into the 2D Script window. Tạo Phần Thư viện Mới từ menu Tệp và đặt cửa sổ 2D ở bên phải màn hình, sao cho nó bên cạnh sơ đồ tầng của dự án. Kéo và thả phần tô 2D vào cửa sổ Tập lệnh 2D.

PEN SET FILL POLY2_B

HOTSPOT2 HOTSPOT2 HOTSPOT2 HOTSPOT2 HOTSPOT2 HOTSPOT2 HOTSPOT2 HOTSPOT2 HOTSPOT2 HOTSPOT2 HOTSPOT2 HOTSPOT2

1 "25 %" 22, 3, 1, 91, -0.000071, 0.06026, 1, 0.048921, 0.06026, 1, 0.048921, 0.051348, 1, 0.055658, 0.217545, 900, 0.0, 25.2526, 4001, 0.120465, 0.064357, 1, 0.13148, 0.020407, 900, 0.0, -80.7543, 4001, 0.173089, 0.03834, 1, 0.180185, 0.036271, 900, 0.0, -147.4796, 4001, 0.18728, 0.03834, 1, 0.229512, 0.016782, 900, 0.0, -74.8857, 4001, 0.239313, 0.063174, 1, 0.327746, 0.331473, 900, 0.0, 17.8153, 4001, 0.325639, 0.048983, 1, 0.325639, 0.059626, 1, 0.374715, 0.059626, 1, 0.179133, -0.056834, 1, -0.000071, 0.06026, -1 -0.000071, 0.06026 0.048921, 0.06026 0.048921, 0.051348 0.120465, 0.064357 0.173089, 0.03834 0.18728, 0.03834 0.239313, 0.063174 0.325639, 0.048983 0.325639, 0.059626 0.374715, 0.059626 0.179133, -0.056834 -0.000071, 0.06026

Copy only the list of XY points across to the 3D script window,and delete the hotspots and all the rest.Chỉ sao chép danh sách các điểm XY trên cửa sổ tập lệnh 3D và xóa các điểm phát sóng và tất cả các điểm còn lại. Delete the last point in the list (which is simple a repeat of the first point). Delete the second last point (which is the ‘silly’ point).Xóa điểm cuối cùng trong danh sách (đơn giản là lặp lại điểm đầu tiên).

Xóa điểm cuối cùng thứ hai (là điểm ‘ngớ ngẩn’).

94

Object Making with ArchiCAD

Chapter 6: Looking into Autoscripted GDL

Now add the REVOLVE command above the list of points. The word REVOLVE is followed by the number of points (was 22, now20), the angle through which the profile should be revolved (360˚)and finally a masking value, which you can assume to be 63. Bây giờ thêm lệnh REVOLVE phía trên danh sách các điểm. Từ REVOLVE được theo sau bởi số điểm (là 22, bây giờ là 20), góc mà hồ sơ sẽ được xoay qua (360˚) và cuối cùng là giá trị che, bạn có thể giả định là 63. PEN 1 MATERIAL 'Whitewash' RESOL 16 REVOLVE 20,360,63, -0.000071, 0.06026, 1, 0.048921, 0.06026, 1, 0.048921, 0.051348, 1, 0.055658, 0.217545, 900, 0.0, 25.2526, 4001, 0.120465, 0.064357, 1, 0.13148, 0.020407, 900, 0.0, -80.7543, 4001, 0.173089, 0.03834, 1, 0.180185, 0.036271, 900, 0.0, -147.4796, 4001, 0.18728, 0.03834, 1, 0.229512, 0.016782, 900, 0.0, -74.8857, 4001, 0.239313, 0.063174, 1, 0.327746, 0.331473, 900, 0.0, 17.8153, 4001, 0.325639, 0.048983, 1, 0.325639, 0.059626, 1, 0.374715, 0.059626, 1

If this lathed shape is a stone baluster, you only have to precede thecommand with a ROTY -90command and it will stand upright.Nếu hình dạng tiện này là một khối đá, bạn chỉ cần đặt trước lệnh bằng lệnh ROTY -90 và nó sẽ đứng thẳng. The RESOL command is most important. The RESOL command tells GDL that you only want 16 polygonal faces to the shape. You can ruin your model with too many polygons. Multiply these stonebalusters by a few hundred and your computer may not have enough memory to render, and you may have an unrealistic number of polygons if you wish to export to DXF or Art•lantis.Lệnh RESOL là quan trọng nhất. Lệnh RESOL cho GDL biết rằng bạn chỉ muốn có 16 mặt đa giác cho hình dạng. Bạn có thể làm hỏng mô hình của mình với quá nhiều đa giác. Nhân những khối đá này với vài trăm và máy tính của bạn có thể

không có đủ bộ nhớ để hiển thị và bạn có thể có một số lượng đa giác không thực tế nếu bạn muốn xuất sang DXF hoặc Art • lantis. The benefit of being a GDL user is that you can control thenumber of polygons with a simple RESOL command.Lợi ích của việc trở thành người dùng GDL là bạn có thể kiểm soát số lượng đa giác bằng một lệnh RESOL đơn giản.

Object Making with ArchiCAD

95

Chapter 6: Looking into Autoscripted GDL

Summary of GDL in this section Tóm tắt về GDL trong phần này – The table example is so simple that you may feel that, by now,you are quite capable of scripting this in native GDL withoutneeding the autoscript. But it has been a good means of demonstrating the contents of an autoscripted object.Ví dụ bảng đơn giản đến mức bạn có thể cảm thấy rằng, hiện tại, bạn khá có khả năng viết kịch bản này trong GDL gốc mà không cần đến autoscript. Nhưng nó là một phương tiện tốt để thể hiện nội dung của một đối tượng được viết tự động. – The easiest things to change into parameters are the names ofmaterials – they can be replaced with variable names.Những thứ dễ dàng nhất để thay đổi thành tham số là tên của vật liệu - chúng có thể được thay thế bằng tên biến. – The methods used in this chapter are fine for complete objects. But if you are working at creative GDL and simplywant a quick solution, try ‘Instant GDL’.Các phương thức được sử dụng trong chương này đều tốt cho các đối tượng hoàn chỉnh. Nhưng nếu bạn đang làm việc tại GDL sáng tạo và chỉ đơn giản là muốn có một giải pháp nhanh chóng, hãy thử ‘Instant GDL’. – Many 3D objects use the same syntax as the 2D Fill tool, soyou can make interesting 3D objects easily.Nhiều đối tượng 3D sử dụng cú pháp tương tự như công cụ 2D Fill, vì vậy bạn có thể tạo các đối tượng 3D thú vị một cách dễ dàng. – It is important to control the number of polygons in the model – if you are building any objects that are repeated in great numbers you must use GDL to define the number of polygonsin each solid.Điều quan trọng là phải kiểm soát số lượng đa giác trong mô hình - nếu bạn đang xây dựng bất kỳ đối tượng nào được lặp lại với số lượng lớn, bạn phải sử dụng GDL để xác định số lượng đa giác trong mỗi khối rắn.

96

Object Making with ArchiCAD

Chapter 7: GDL

Chapter 7

GDL Roundup There is a lot more to GDL than we have been able to cover in this slim volume. This section runs through some of the further possibilities in a brief form. GDL còn nhiều điều hơn nữa mà chúng tôi có thể trình bày trong tập mỏng này. Phần này trình bày một số khả năng khác trong một hình thức ngắn gọn.

Object Making with ArchiCAD

97

Chapter 7: GDL Roundup

7.1 GDL Roundup This book is an introductory tutorial for GDL, a tour through the easy foothills. If your interest has been aroused, there is further reading for you. No doubt, the best way to learn GDL is to attemptsome practical tasks, which will be both useful to you in your work and will teach you additional techniques in GDL.Cuốn sách này là một hướng dẫn giới thiệu cho GDL, một chuyến tham quan qua các chân đồi dễ dàng. Nếu sự quan tâm của bạn đã được khơi dậy, có thêm bài đọc dành cho bạn. Không nghi ngờ gì nữa, cách tốt nhất để học GDL là thử một số nhiệm vụ thực tế, điều này sẽ hữu ích cho bạn trong công việc và sẽ dạy bạn các kỹ thuật bổ sung trong GDL.

In GDL, there are four main areas of knowledge Trong GDL, có bốn lĩnh vực kiến thức chính – We have to analyze the 3D nature of the object we wish to build. See how much of it can be done with simple blocks or cylinders, and then how much of it will require more complexcommands such as PRISM, REVOLVEand TUBE.Chúng ta phải phân tích bản chất 3D của đối tượng mà chúng ta muốn xây dựng. Xem bao nhiêu trong số đó có thể được thực hiện với các khối hoặc hình trụ đơn giản, và sau đó bao nhiêu trong số đó sẽ yêu cầu các lệnh phức tạp hơn như PRISM, REVOLVE và TUBE. – The GDL itself. The syntax of each command, which command to use under the circumstances, how to control polygons, how to define text style and materials – and muchmore. You need to become conversant with 3D and 2D syntax.Bản thân GDL. Cú pháp của mỗi lệnh, lệnh sử dụng trong các trường hợp nào, cách điều khiển đa giác, cách xác định kiểu văn bản và chất liệu - và nhiều hơn thế nữa. Bạn cần trở nên thông thạo với cú pháp 3D và 2D. – The programming language of GDL. This has not been covered in detail in this tutorial, but it is possible to write longcomplex scripts in GDL using Loops and Subroutines. GDL is based on BASIC, a programming language that was devised inthe 70s, became universally known to users of the Apple II, Commodore Pet and Tandy TRS-80 machines of the early eighties; and now it has been rather forgotten. In GDL, it liveson! GDL can read and write data/text files, include complex calculation routines with a GDL script, such as structural calculation or predicting the outline points of a surface in 3Dspace.Ngôn ngữ lập trình của GDL. Điều này chưa được đề cập chi tiết trong hướng dẫn này, nhưng bạn có thể viết các tập lệnh phức tạp dài trong GDL bằng cách sử dụng Vòng lặp và Chương trình con. GDL dựa trên BASIC, một ngôn ngữ lập trình được phát minh ra vào những năm 70, đã trở nên phổ biến đối với người dùng Apple II, Commodore Pet và Tandy TRS-80 vào đầu những năm 80; và bây giờ nó đã bị lãng quên. Trong GDL, nó vẫn tồn tại! GDL có thể đọc và ghi dữ liệu / tệp văn bản, bao gồm các quy trình tính toán phức tạp với tập lệnh GDL, chẳng hạn như tính toán

cấu trúc hoặc dự đoán các điểm phác thảo của bề mặt trong không gian 3D. – GDL can react according to conditions in the main ArchiCAD model. We saw in Chapter 4 how a doorframe could respond to the current drawing scale. With knowledge of the thicknessand materials of the current Wall, a Window can be more powerful. With knowledge of the object’s position in 3D spaceand the location of the current camera, the object knows howfar away the camera is, and in which direction. Thus, it can turn to face the camera if it’s a flat tree; or simplify itself if its acomplex object that is too far away to require drawing in detail.GDL có thể phản ứng theo các điều kiện trong mô hình ArchiCAD chính. Chúng ta đã thấy trong Chương 4 cách khung cửa có thể đáp ứng với tỷ lệ bản vẽ hiện tại. Với kiến thức về độ dày và vật liệu của Tường hiện tại, Cửa sổ có thể mạnh hơn. Với kiến thức về vị trí của đối tượng trong không gian 3D và vị trí của máy ảnh hiện tại, đối tượng sẽ biết máy ảnh đang ở bao xa và theo hướng nào. Do đó, nó có thể quay mặt về phía máy ảnh nếu nó là một cái cây phẳng; hoặc tự đơn giản hóa nếu nó là một đối tượng phức tạp ở quá xa để yêu cầu vẽ chi tiết.

See also.… Xem thêm.... The GDL Cookbook covers all of these topics in greater detail,and provides practical working examples to help you learn. GDL Cookbook bao gồm tất cả các chủ đề này một cách chi tiết hơn và cung cấp các ví dụ làm việc thực tế để giúp bạn tìm hiểu.

98

Object Making with ArchiCAD

Chapter 7: GDL Roundup

The programming language of GDL Ngôn ngữ lập trình của GDL You have discovered that you can write GDL without being a programmer. If you can issue a few GDL commands, move thecursor around, write some IF statements that make the object smarter and safer, then you have been programming. In fact, programming is an activity all of us do – ants do it when lookingafter their eggs, squirrels do it when hoarding their winter food,lions do it when hunting zebra, children do it when playing withtheir toys and developing social relationships. Adults do it whenever they get in their car and drive to work.Bạn đã phát hiện ra rằng bạn có thể viết GDL mà không cần phải là một lập trình viên. Nếu bạn có thể đưa ra một vài lệnh GDL, di chuyển con trỏ xung quanh, viết một số câu lệnh IF để làm cho đối tượng thông minh hơn và an toàn hơn, thì bạn đã được lập trình. Trên thực tế, lập trình là một hoạt động mà tất cả chúng ta đều làm - kiến làm khi chăm sóc trứng, sóc làm khi tích trữ thức ăn mùa đông, sư tử làm khi săn ngựa vằn, trẻ em làm khi chơi với đồ chơi của chúng và phát triển các mối quan hệ xã hội. Người lớn làm điều đó bất cứ khi nào họ lên xe và lái xe đi làm. Programming simply means the organization of a set of actions conditioned by a number of IFstatements that decide which actions shall be taken. It also implies many repetitive actions – inreal life, you could stack hundreds of books on a shelf and makedecisions for each one as you proceeded to sort them in alphabetical order, by ISBN or size.Lập trình đơn giản có nghĩa là tổ chức một tập hợp các hành động được điều kiện bởi một số câu lệnh IF để quyết định hành động nào sẽ được thực hiện. Nó cũng ngụ ý nhiều hành động lặp đi lặp lại - trong cuộc sống thực, bạn có thể xếp hàng trăm cuốn sách lên giá và đưa ra quyết định cho từng cuốn khi bạn tiến hành sắp xếp chúng theo thứ tự bảng chữ cái, theo ISBN hoặc kích thước. To get further with GDL you will need to learn about Subroutines and Loops.Để tiến xa hơn với GDL, bạn sẽ cần tìm hiểu về Chương trình con và Vòng lặp.

7.2 Subroutines Chương trình hành chính Subroutines are used to avoid repetitive typing Các chương trình con được sử dụng để tránh nhập lặp đi lặp lại You can take a piece of text that will have to be repeated frequently, give it a number, and then call the subroutine with a GOSUB command. For example, in the case of our basic chair in Chapter 3, if your chair has an elaborate leg that takes a

hundredlines to describe and you have four legs to do, you would not want to type that all out again, in fact you would not even want tocopy and paste the leg four times.Bạn có thể lấy một đoạn văn bản sẽ phải lặp lại thường xuyên, đặt cho nó một số, sau đó gọi chương trình con bằng lệnh GOSUB. Ví dụ: trong trường hợp chiếc ghế cơ bản của chúng tôi trong Chương 3, nếu chiếc ghế của bạn có một chân phức tạp mà bạn phải mất cả trăm dòng để mô tả và bạn có bốn chân để làm, bạn sẽ không muốn gõ lại tất cả, thực tế là bạn. thậm chí sẽ không muốn sao chép và dán chân bốn lần. !All the legs GOSUB 100:!One leg ADDX A GOSUB 100:!One leg ADDY B GOSUB 100:!One leg ADDX -A GOSUB 100:!One legDEL 3

Subroutines are used to give structure to a long script Các chương trình con được sử dụng để cung cấp cấu trúc cho một tập lệnh dài The main script can consist of a number of GOSUBcommands to aseries of subroutines that build elements of the model. These are logically based on your 3D analysis.Tập lệnh chính có thể bao gồm một số lệnh GOSUB cho một loạt các chương trình con xây dựng các phần tử của mô hình. Những điều này dựa trên phân tích 3D của bạn một cách hợp lý. Object Making with ArchiCAD

99

Chapter 7: GDL Roundup

!Chair GOSUB 200:!All the Legs GOSUB 300:!Draw the Seat GOSUB 400:!Build the Back END !----100:!One single leg BLOCK tsec,tsec,seathit-tsecRETURN 200:!All the legs GOSUB 100:!One leg ADDx A GOSUB 100:!One legADDy B GOSUB 100:!One legADDx A GOSUB 100:!One legDEL 3 RETURN In this case, you would refer to the first part of the script as the ‘executive script’, with most of the actual work being done by the subroutines that follow the ENDcommand. Let’s summarize some easy to remember ‘must-do’ rules.Trong trường hợp này, bạn sẽ gọi phần đầu tiên của tập lệnh là 'tập lệnh điều hành', với hầu hết công việc thực tế được thực hiện bởi các chương trình con tuân theo lệnh END. Hãy tóm tắt một số quy tắc "phải làm" dễ nhớ. The subroutines must all be written after the END command. Subroutines must start with a number and a label, and end withthe command RETURN. Subroutines may call other subroutines. Subroutines must be self contained; the number of DELs must exactly equal the number of cursor movements.Các chương trình con đều phải được viết sau lệnh END. Các chương trình con phải bắt đầu bằng một số và một nhãn, và kết thúc bằng lệnh RETURN. Các chương trình con có thể gọi các chương trình con khác. Các chương trình con phải được khép kín; số DELs phải chính xác bằng số chuyển động của con trỏ.

Subroutines are used to help with decision making Các chương trình con được sử dụng để giúp đưa ra quyết định

100

When you have defined a flag, like ‘ws’ for window shape, to bevalued 0, 1 or 2, you can issue a GOSUB command that includes the flag in the line number. For example: Khi bạn đã xác định một cờ, chẳng hạn như ‘ws’ cho hình dạng cửa sổ, có giá trị 0, 1 hoặc 2, bạn có thể đưa ra lệnh GOSUB bao gồm cờ trong số dòng. Ví dụ: GOSUB 100+ws !Window END:!------100:!Rectangular window ........... RETURN 101:!Round topped window ........... RETURN

102:!Gothic window . . . . . . . . . . . R E T U R N O b j e c t M a k i n g w i t h A r c h i C A D

Chapter 7: GDL Roundup

7.3 Loops Vòng lặp Machines never tire of doing repetitive work. With a GDL object, you may have many spokes in a wheel, many shelves in a furniture system, many balusters in a handrail, many rungs on a ladder. If we have a means of telling GDL how many we want, andwhat spacing we want it at, we can get the work done for us.Máy móc không bao giờ mệt mỏi khi làm công việc lặp đi lặp lại. Với một đối tượng GDL, bạn có thể có nhiều nan hoa trong một bánh xe, nhiều giá trong một hệ thống đồ đạc, nhiều cụm trong lan can, nhiều bậc trên một cái thang. Nếu chúng ta có phương tiện để cho GDL biết chúng ta muốn có bao nhiêu và chúng ta muốn khoảng cách nào, chúng ta có thể hoàn thành công việc cho mình.

The FOR... NEXTLoop Vòng lặp FOR ... NEXT We can do this with the FOR... NEXTloop. We can do it in several ways, but the most common is to do it by counting numbers, by distance or by angle. Let’s show three simple examples.Chúng ta có thể làm điều này với vòng lặp FOR ... NEXT. Chúng ta có thể thực hiện theo một số cách, nhưng phổ biến nhất là thực hiện bằng cách đếm số, theo khoảng cách hoặc theo góc. Hãy trình bày ba ví dụ đơn giản.

Loop by counting numbers Lặp lại bằng cách đếm số We want to plant a handrail at the racecourse and want to plant 6 x1 meter high poles at 0.6 meter intervals, then cap it with a long rod. We assume an imaginary counter called ‘k’, and we incrementit by 1 each time the program goes around the loop. So it starts with a value of 1, does one pole, advances to the position of the next pole, and waits. Then it meets the NEXT k command. As the job is not finished, it returns to the FORline, increments ‘k’ again, and plants another pole. Eventually, it completes the task, and NEXT k recognizes that it has finished and allows the program to continue, whereby it DELs back to the origin.Chúng tôi muốn trồng lan can ở trường đua ngựa và muốn trồng những cây cột cao 6 x 1 mét cách nhau 0,6 mét, sau đó dùng thanh dài đậy nắp lại. Chúng tôi giả sử một bộ đếm tưởng tượng được gọi là ‘k’ và chúng tôi tăng nó lên 1 mỗi khi chương trình đi quanh vòng lặp. Vì vậy, nó bắt đầu với giá trị 1, hiện một cực, tiến tới vị trí của cực tiếp theo và chờ đợi. Sau đó, nó gặp lệnh NEXT k. Khi công việc chưa kết thúc, nó quay trở lại dòng FOR, tăng ‘k’ một lần nữa và trồng một cực khác. Cuối cùng, nó hoàn thành nhiệm vụ, và NEXT k nhận ra rằng nó đã hoàn thành và cho phép chương trình tiếp tục, theo đó nó XÓA trở lại điểm gốc. !Long fence using numbersRESOL 10 MATERIAL 'Whitewash': PEN 1 pspac=0.6 !Pole spacing FOR k=1 TO 6 STEP 1 CYLIND 1.0,0.05

ADDX pspac NEXT k DEL 6 !Capping piece ADD 0.05,0,1.0 ROTY 90 CYLIND 3.1,0.05 DEL 2

Note that a trick is used to improve the look of the capping rail. Bymaking it slightly longer (by one diameter) than the sum of the distances of the poles, it looks more authentic.Lưu ý rằng một thủ thuật được sử dụng để cải thiện giao diện của đường ray đóng nắp. Bằng cách làm cho nó dài hơn một chút (bằng một đường kính) so với tổng khoảng cách của các cực, nó trông chân thực hơn.

Object Making with ArchiCAD

101

Chapter 7: GDL Roundup

We can improve the way the loop is coded in one small way. Thefirst one worked fine, but we had to DEL all the cursor moves AFTER the loop was complete. This method includes the DEL inside the loop, so that the loop is cleanly self-contained. Chúng tôi có thể cải thiện cách mã hóa vòng lặp theo một cách nhỏ. Cách đầu tiên hoạt động tốt, nhưng chúng tôi phải XÓA tất cả các chuyển động của con trỏ SAU KHI vòng lặp hoàn tất. Phương thức này bao gồm DEL bên trong vòng lặp, để vòng lặp hoàn toàn độc lập. FOR k=1 TO 6 STEP 1 ADDX pspac*(k-1) CYLIND 1.0,0.05 DEL 1 NEXT k

Now we place the ADDX command before the cylinder. The first time, the value of (k-1) is zero, so if you multiply ‘pspac’ by zero,the distance added is zero. So it plants the first pole. Then it DELsback to the origin. When ‘k’ is equal to 2, the distance moved is ‘pspac*1’ so it draws the next pole, then returns to the origin.Bây giờ chúng ta đặt lệnh ADDX trước hình trụ. Lần đầu tiên, giá trị của (k-1) bằng 0, vì vậy nếu bạn nhân ‘pspac’ với 0, khoảng cách được thêm vào sẽ bằng 0. Vì vậy, nó trồng cây cực đầu tiên. Sau đó, nó XÓA trở lại nguồn gốc. Khi ‘k’ bằng 2, khoảng cách di chuyển là ‘pspac * 1’ vì vậy nó vẽ cực tiếp theo, sau đó quay trở lại điểm gốc. Notice that in both cases, we specified the stepping rate to be ‘1’. Ifit is ‘1’, you can omit that STEP command, but if it is anything else at all, you must specify the STEP, or GDL will assume a value of 1 – which could be misinterpreted as 1.0 meters, or 1.0 degrees! Lưu ý rằng trong cả hai trường hợp, chúng tôi đã chỉ định tỷ lệ bước là '1'. Nếu là ‘1’, bạn có thể bỏ qua lệnh STEP đó, nhưng nếu là lệnh khác, bạn phải chỉ định STEP hoặc GDL sẽ giả định giá trị là 1 - có thể bị hiểu sai là 1,0 mét hoặc 1,0 độ

Loop by Distance Lặp lại theo khoảng cách The next method is when you do not know how many will be needed, but you know their spacing. This says, ‘starting from pointzero, advance a distance of ‘d’ (which is zero) and plant a pole. Phương pháp tiếp theo là khi bạn không biết sẽ cần bao nhiêu cái, nhưng bạn biết khoảng cách của chúng. Điều này nói rằng, "bắt đầu từ điểm 0, tiến thêm một khoảng là" d "(là 0) và

increment the value of ‘d’ by ‘pspac’, then advance ‘d’ (which by now has been incremented), plant another pole, then return to zero. Do this until you have covered atotal distance of 3.0 metres.’Sau đó trở về số không. Sau đó, tăng giá trị của ‘d’ bằng ‘pspac’, sau đó tăng ‘d’ (hiện đã được tăng dần), trồng một cực khác, sau đó trở về 0. Làm điều này cho đến khi bạn đã đi được tổng khoảng cách là 3,0 mét. ' pspac=0.6 !Pole spacing FOR d=0 TO 3.0 STEP pspac ADDx d CYLIND 1.0,0.05 DEL 1 NEXT d

trồng một cái cột. Then return to zero. Then

102

Object Making with ArchiCAD

Chapter 7: GDL Roundup

Loop by Angle There are many occasions when your object has interesting circle geometry. Here is the same handrail, but now it’s on a curved track. We use the FOR... NEXTloop to distribute the posts at anangular spacing of 15˚.Có nhiều trường hợp đối tượng của bạn có dạng hình tròn thú vị. Đây là cùng một lan can, nhưng bây giờ nó ở trên một đường cong. Chúng tôi sử dụng vòng lặp FOR ... NEXT để phân phối các bài viết với khoảng cách góc là 15˚. This brings the opportunity to introduce you to two more GDL commands: ELBOWand RADIUS. ELBOWis like a cylinder but it curves at a defined radius, to a defined angle.Điều này mang đến cơ hội giới thiệu cho bạn thêm hai lệnh GDL: ELBOW và RADIUS. ELBOW giống như một hình trụ nhưng nó cong ở một bán kính xác định, đến một góc xác định. ELBOW curve radius, alpha angle, tube radius Bán kính đường cong ELBOW, góc alpha, bán kính ống In this case, it is a 180˚ curve angle. Because elbows always growupwards, you have to precede the command with a ROTX -90and lift it to the height of the top of the posts.Trong trường hợp này, nó là một góc đường cong 180˚. Vì khuỷu tay luôn hướng lên trên, bạn phải đặt trước lệnh bằng ROTX -90 và nâng nó lên đến độ cao của đầu các trụ. RADIUS small radius, large radius RADIUS bán kính nhỏ, bán kính lớn RADIUS does something similar to the RESOL command. However, RESOL is too simple. In this elbow, we have two curves,the main curve and the tubing curve. If we have a large resolution so that the rail looks right, the tubing will have too many polygons, and the computer could be crippled trying to shade all those surfaces.RADIUS thực hiện một cái gì đó tương tự như lệnh RESOL. Tuy nhiên, RESOL quá đơn giản. Trong khuỷu tay này, chúng ta có hai đường cong, đường cong chính và đường cong hình ống. Nếu chúng ta có độ phân giải lớn để đường ray trông phù hợp, đường ống sẽ có quá nhiều đa giác và máy tính có thể bị hỏng khi cố gắng che bóng tất cả các bề mặt đó. If you issue a RADIUScommand, all radii equal to or less than the small radius will have a RESOL 6, and all radii equal to or greater than the larger one will have a RESOL of 36. All radii with in between values will have in between values of RESOL. It is a veryuseful command.Nếu bạn ra lệnh RADIUS, tất cả các bán kính bằng hoặc nhỏ hơn bán kính nhỏ sẽ có RESOL 6 và tất cả các bán kính bằng hoặc lớn hơn lớn hơn sẽ có RESOL là 36. Tất cả các bán kính nằm giữa các giá trị sẽ có giá trị bằng giữa các giá trị của RESOL. Đó là một lệnh rất hữu ích. !Circular racecourse railRADIUS 0.05,0.3 crad=3.0 !Curve RadiusADDz 1.0 ROTx -90 ELBOW crad,180,0.05DEL 2

ADDx crad FOR ang=0 TO 180 STEP 15 ROTz ang ADDx crad CYLIND 1.0,0.05 DEL 2 NEXT ang DEL 1

We have to move to the centre of the circle first. Turn to face in one direction using the ROTZcommand, move out to the rail withan ADDXcommand, and draw the post. Withdraw to the centre again, increment the value of ‘ang’ by 15˚, then do the next one. One final DELreturns you to the starting place.Chúng ta phải di chuyển đến tâm của vòng tròn trước. Quay mặt về một hướng bằng lệnh ROTZ, di chuyển ra đường ray bằng lệnh ADDX và vẽ cột. Rút về trung tâm một lần nữa, tăng giá trị của ‘ang’ lên 15˚, sau đó thực hiện thao tác tiếp theo. Một DEL cuối cùng đưa bạn trở lại nơi xuất phát. Object Making with ArchiCAD

103

Chapter 7: GDL Roundup

Other ways of Looping Các cách khác của Vòng lặp You have other methods of looping, Bạn có các phương pháp lặp khác, – DO... WHILE: do an action while a condition applies, for example a dimension or an angle will eventually be equal toless than zero; until then, keep doing it.DO ... WHILE: thực hiện một hành động trong khi một điều kiện được áp dụng, ví dụ một thứ nguyên hoặc một góc cuối cùng sẽ bằng nhỏ hơn 0; cho đến lúc đó, hãy tiếp tục làm việc đó. – WHILE condition DO... ENDWHILE: does the same as above.WHILE condition DO ... ENDWHILE: thực hiện tương tự như trên. – REPEAT... UNTIL: go on doing something until a condition is met – for example, when a dimension or angle is equal to orless than zero, or the numbers in a memory buffer have been used up.REPEAT ... UNTIL: tiếp tục làm điều gì đó cho đến khi một điều kiện được đáp ứng - ví dụ: khi một thứ nguyên hoặc góc bằng hoặc nhỏ hơn 0, hoặc các số trong bộ đệm bộ nhớ đã được sử dụng hết. The FOR... NEXTloop meets almost all your requirements. Most loops are based on counters, or incrementing until a distance or angle are achieved. You will know when a situation suitable for REPEAT... UNTILis the best way for you to loop.Vòng lặp FOR ... NEXT đáp ứng hầu hết mọi yêu cầu của bạn. Hầu hết các vòng đều dựa trên bộ đếm hoặc tăng dần cho đến khi đạt được khoảng cách hoặc góc. Bạn sẽ biết khi nào một tình huống thích hợp để LẶP LẠI ... BẤT NGỜ là cách tốt nhất để bạn lặp lại.

Look at the GDL Reference Manual Xem hướng dẫn sử dụng GDL This primer has been written in the hope that as your approach to GDL becomes more confident, you will be more willing to dip intothe actual manual. The explanations may not be as dry or technicalas you first thought.Phần sơ yếu này được viết với hy vọng rằng khi cách tiếp cận GDL của bạn trở nên tự tin hơn, bạn sẽ sẵn sàng hơn để tham gia vào sách hướng dẫn

thực tế. Những lời giải thích có thể không khô khan hay kỹ thuật như bạn nghĩ ban đầu.

Other possibilities Các khả năng khác There are many more capabilities in GDL than we have had spacefor in this primer. There are just too many to cover in one tutorial.But you can find out more by reading further or taking a course inGDL. If you made it this far the hard way – by reading and doing some of the exercises – you may be prepared to try some of these yourself.

Có nhiều khả năng trong GDL hơn chúng ta đã có không gian cho phần sơ khai này. Có quá nhiều thứ cần trình bày trong một bài hướng dẫn. Nhưng bạn có thể tìm hiểu thêm bằng cách đọc thêm hoặc tham gia một khóa học về GDL. Nếu bạn đã làm được điều này một cách khó khăn bằng cách đọc và làm một số bài tập - bạn có thể chuẩn bị để tự mình thử một số trong số này.

104

Object Making with ArchiCAD

Chapter 7: GDL Roundup

Capabilities of GDL that this tutorial leaves for future investigation: Các khả năng của GDL mà hướng dẫn này để lại cho việc điều tra trong tương lai: – Organizing the parameter box with titles and ‘cascading’ parameters.Tổ chức hộp tham số với các tiêu đề và các tham số ‘xếp tầng’. – More powerful pop-up menus – with numbers and pictures.Những menu bật lên mạnh mẽ hơn - với số và hình ảnh. – Numeric arrays (tables) available to the user as parameters.Mảng số (bảng) có sẵn cho người dùng dưới dạng tham số. – Making curvy skin-based surfaces using COONSor MASS.Tạo độ cong trên bề mặt da bằng COONS hoặc MASS. – Planar 3D GDL objects when they do not need to be solid.Planar 3D GDL đối tượng khi chúng không cần phải rắn. – Smart 2D symbols using FRAGMENT2, which combine drawnsymbols with 2D scripting.Thông minh các biểu tượng 2D bằng cách sử dụng FRAGMENT2, kết hợp các biểu tượng đã vẽ với tập lệnh 2D. – Applying ‘Polyline’ curves to the outlines of prism, poly, extrude, revolve and other objects.Áp dụng các đường cong ‘Polyline’ cho các đường viền ngoài của lăng trụ, poly, extrude, revolve và các đối tượng khác. – Using ‘masking’ to control the way objects and surfaces look in 3D drawings and in photorendering.Sử dụng ‘che” để kiểm soát cách các đối tượng và bề mặt trông trong bản vẽ 3D và trong kết xuất ảnh. – Using a CUTPLANE, CUTSHAPEand CUTPOLYto carve anddrill solid shapes, to make them more complex.Sử dụng CUTPLANE, CUTSHAPE và CUTPOLY để khắc và khoan các hình dạng rắn, để làm cho chúng phức tạp hơn. – Attaching PICTUREs to surfaces – for trees, people, facades.Gắn HÌNH ẢNH với các bề mặt - cho cây cối, con người, mặt tiền. – Calling other library objects (such as taps or door handles).Gọi các đối tượng thư viện khác (chẳng hạn như vòi hoặc tay nắm cửa). – Making Lamp objects with controllable light sources.Tạo các đối tượng Đèn với nguồn sáng có thể điều khiển được. – Using trigonometry to calculate the pathway of tubes andedges through curved and parabolic pathways.Sử dụng lượng giác để tính đường đi của ống và cạnh qua đường cong và đường parabol. – Reading and displaying the system date, time, project name,and much more, using the REQUESTcommand.Đọc và hiển thị ngày, giờ của hệ thống, tên dự án, v.v. bằng cách sử dụng lệnh REQUEST.

– Defining your own materials, line types and fill patterns.Xác định vật liệu, kiểu đường kẻ và mẫu tô của riêng bạn. – Storing numbers in memory and bringing them out later(Arrays and PUT& GET).Lưu trữ các số trong bộ nhớ và đưa chúng ra sau (Mảng và PUT & GET). – Building a graphic User Interface that replaces the normalparameter box and makes the GDL object look more professional.Xây dựng Giao diện Người dùng đồ họa thay thế hộp tham số bình thường và làm cho đối tượng GDL trông chuyên nghiệp hơn. – Self-labelling objects – the font and text size can be defined tobe parametric and scale sensitive.Các đối tượng tự gắn nhãn - phông chữ và kích thước văn bản có thể được xác định là nhạy cảm với tham số và tỷ lệ. – Setting up animation possibilities by changing the object’sshape according to the frame number in the animation.Thiết lập khả năng hoạt ảnh bằng cách thay đổi hình dạng của đối tượng theo số khung hình trong hoạt ảnh. – Knowing where the camera is, and changing accordingly.Biết camera ở đâu và thay đổi cho phù hợp. – Knowing which story the object is on.Biết câu chuyện kể về đối tượng. – Reading and writing text based datafiles.Đọc và ghi các tệp dữ liệu dựa trên văn bản.

Object Making with ArchiCAD

105

Chapter 7: GDL Roundup

106

Object Making with ArchiCAD

Index

Index 2D 13 2D Script

38, 49

First steps with ~ 44 "killer command" 38

3D 14, 98

~ Cursor 35 ~ Entities 34 ~ Pixel 43 ~ Projections 16 ~ Script 34 ~ Space 35 ~ View 36

A ADD 36 Add-ons 5 add-ons 3 ADD2 44, 48 ARC2 45, 48 ArchiSite 5 Art•lantis Render 5, 95 Autoscripted GDL 82

B BASIC 9, 98 Binary 5 Binary 3D 23 BLOCK 34, 39 Boolean choices BPRISM_ 69

51

C Object Making with ArchiCAD

Chair 18, 39 CIRCLE2 45, 48 Commas 71 Comment 33

107

Index

L

CONE 34 Cones 22 CPRISM 6 CPRISM_ 69 CSLAB 6 CUTPLANE 69 CYLIND 34, 102

Label 37 Lamp 7 LET 55 Libraries

ArchiCAD ~ 4 Complementary ~ 4 DXF and DWG ~ 4 listing ~ parts 10 loading ~ 3

D DEL 38 Door 53 DWG 4 DXF 4, 95 DXF/DWG Conversion 4

LINE2 45, 48 Location awareness 58 Loops 101 DO... WHILE 104 FOR... NEXT 104 REPEAT... UNTIL 104 WHILE 104

E

M

ELBOW 46, 103 Error checking 43

F Fill tool 13 Find and Replace 70, 89 Flags 50, 76 FPRISM 69

G GDL Cookbook 2, 98 GDL Object Web Plug-in 4 Global Variables 58, 85

Magic Wand 12, 21 Manufacturers' Rules 43, 63 Marquee 25 Masking codes 68 MASS 6 Master Script 33, 60 Master window 32 MATERIAL 34 MUL 36, 83 MUL2 48

O

H

Object Factory 4 Objects On Line 4

hotspot 13 HOTSPOT2 48 Hotspots 45

P

I IF... ENDIF 50 IF… ENDIF 62 Instant GDL 67, 93 Internet

Objects on the ~ 4

Investment object

108

9

Parameter Script 33 Parameter table 32 Parametric 7, 40, 87 POLY2 48, 52 POLY2_ 48 Polylines 76 Pop-up menu 60, 76 Preview Picture 33 Preview picture 63 PRISM 66, 69 PRISM_ 69 Prisms 66, 69 Object Making with ArchiCAD

Index

Profiler 5 PROJECT2 38, 44, 56, 75 Properties Script 33, 63

R

Z Zoom 4 ZZYZX 84

RADIUS 103 RECT2 48 RESOL 95, 103 REVOLVE 93 Roof Truss 20 Roof vault 25 RoofMaker 5 ROT 36 ROT2 48

S Scale

drawing ~ 58

Slab tool 14, 18 SPHERE 34 SPRISM_ 69 StairMaker 5 Status code 76 Stretchiness 41, 49, 83 stretchiness 12 SUBROUTINE 92 Subroutines 99

T Table 14, 83

U User Interface Script 34

V VALUES 60, 76

W Wall tool 18 WALLHOLE 57 Window 15, 71

X XWALL 6 Object Making with ArchiCAD

109

Index

110

Object Making with ArchiCAD

Contents

Contents Chapter 1: Introduction to Object Making

1

1.1 About Object Making 2 Library Parts in ArchiCAD ........................................................................................................ 3 Sources of Library Parts ...................................................................................................... 4 1.2 Making your own Library Parts 6

Without GDL – using ArchiCAD’s Tools ..................................................................................................... 6 Making Objects with GDL ...................................................................................................................... 7 How do you make an Object? .......................................................................................................... 8 Does it need to LOOK right, or BE right? ............................................................................................. 8 The Idea of an ‘Investment object’ ......................................................................................................... 9 Can you learn GDL? ............................................................................................................................... 9 Object Making in the ArchiCAD Manuals ........................................................................................... 10

Chapter 2: Making Objects without GDL

11

Making Objects without GDL

12

Getting Started ...................................................................................................................................... 12

Let’s Make something in 2D .................................................................................................... 13 Let’s Make a 3D Object – a Table ................................................................................................... 14 Let’s Make a 3D Window ........................................................................................................ 15 Let’s Make a Furniture Object using Walls .............................................................................. 18 Let’s Make a Roof Truss .......................................................................................................... 20 Let’s Make an Object using existing Library Parts ................................................................. 22 Let’s Make an Object that we can cut to shape .................................................................. 24

How far can we take Object Making without GDL?............................................................................ 27 Notes on the naming of parts ................................................................................................................ 29 Summary of Object Making in this chapter ................................................................................... 29

Chapter 3: Starting with GDL

31

3.1 Starting with GDL

32

3.2 Let’s build a 3D Object

39

3.3 First steps in 2D scripting

44

3D Entities ............................................................................................................................................. 34 First steps in 3D GDL ................................................................................................................................ 34 3D Space and the 3D Cursor ................................................................................................................ 35 Do not forget the 2D script ................................................................................................................... 38 Summary of GDL, to this point ...................................................................................................... 38 Let’s make this chair parametric .......................................................................................................... 40 Summary of GDL, in this section .......................................................................................................... 46

Object Making with ArchiCAD

i

Contents

Chapter 4: Practical Uses for GDL

47

4.1 Practical Uses for GDL 48 GDL in 2D ............................................................................................................................... 48

Let’s build something in 2D – and make it snappy .............................................................................. 49 Summary of GDL in this section ...........................................................................................................53

4.2 Let’s make a 3D Door

53

Chapter 5: The Power of PRISM

65

5.1 The Power of PRISM

66

5.2 Let’s make a 3D Window

71

Chapter 6: Looking into Autoscripted GDL

81

Summary of GDL in this section ...........................................................................................................64

PRISM is the most versatile element in 3D GDL ....................................................................................... 66 Instant GDL ...........................................................................................................................................67 About Prisms. .........................................................................................................................................69 Don’t forget the 2D Symbol...................................................................................................................75 Try WALLHOLE ......................................................................................................................................... 76 Summary of GDL in this section ...........................................................................................................79

6.1 Looking into Autoscripted GDL

82

6.2 Come back to ‘Instant GDL’

93

This can be tuned up – to be parametric .............................................................................................. 87 Try instant GDL with a REVOLVE .......................................................................................................93 Summary of GDL in this section ...........................................................................................................96

Chapter 7: GDL Roundup 7.1 GDL Roundup

97 98

The programming language of GDL ..................................................................................................... 99

7.2 Subroutines 7.3 Loops

99 101

The FOR... NEXT Loop ............................................................................................................................ 101 Other ways of Looping ........................................................................................................................104 Look at the GDL Reference Manual ...................................................................................................104

Other possibilities ............................................................................................................104