ARCHICAD: REVEALING GDL: Lập Trình Cho Những Thách Thức độc đáo Của Kiến trúc Sư

ARCHICAD: REVEALING GDL: Lập Trình Cho Những Thách Thức độc đáo Của Kiến trúc Sư
ARCHICAD: REVEALING GDL: Lập Trình Cho Những Thách Thức độc đáo Của Kiến trúc Sư

Video: ARCHICAD: REVEALING GDL: Lập Trình Cho Những Thách Thức độc đáo Của Kiến trúc Sư

Video: ARCHICAD: REVEALING GDL: Lập Trình Cho Những Thách Thức độc đáo Của Kiến trúc Sư
Video: Lập trình viên mua nhà năm 25 tuổi? 2024, Tháng tư
Anonim

Tài liệu chuyên gia này tiếp tục loạt bài viết "ARCHICAD: Khám phá lại", bắt đầu vào tháng 12 năm 2016 với bài viết của Vladimir Savitsky "Tạo cấu trúc và trích xuất bản vẽ làm việc từ một mô hình", và sau đó tiếp tục với các ấn phẩm của Svetlana Kravchenko "ARCHICAD: Khám phá lại. Hình dung - cơ hội mới cho kiến trúc sư "và Alexander Anishchenko" TEAMWORK: làm việc nhóm hiệu quả từng bước ". Chu trình được thiết kế để giúp người dùng phát huy hết tiềm năng của ARCHICAD®… Chúng tôi đã yêu cầu các kiến trúc sư chia sẻ kinh nghiệm cá nhân của họ về việc sử dụng chương trình bằng cách sử dụng các phương pháp tiếp cận không chuẩn, các chức năng ít được nghiên cứu và các tính năng mới mà nhiều người dùng thậm chí có thể không biết. Với tư cách là nhà phát triển ứng dụng ARCHICAD, chúng tôi tin tưởng rằng chỉ có kiến thức sâu về sản phẩm mới có thể bộc lộ hết giá trị của nó và ảnh hưởng quyết định đến kết quả, tốc độ và chất lượng công việc của nhà thiết kế. Bạn cũng thích "đường dẫn chưa đọc"? Bạn có kinh nghiệm sử dụng các phương pháp tiếp cận phi tiêu chuẩn khi làm việc với ARCHICAD, thường xuyên sử dụng các tính năng không nổi tiếng nhất của ứng dụng không? Chúng tôi sẽ vui mừng mời các tác giả mới hợp tác: [email protected]. Svetlana Kravchenko, một kiến trúc sư hành nghề, báo cáo:

phóng to
phóng to

Chắc hẳn nhiều bạn đã từng nghe đến GDL trong ARCHICAD nhưng không phải ai cũng biết cách sử dụng nó trong công việc. Xem xét tính hữu ích đáng kinh ngạc của tính năng này, cũng như nhiều câu hỏi sau hội thảo trên web đầu tiên của tôi về chủ đề này, tôi quyết định đi vào chi tiết hơn về cách thức mà ngay cả những kiến thức nhỏ nhất về nó có thể giúp ích rất nhiều cho công việc hàng ngày của một kiến trúc sư.

Hãy bắt đầu với những điều cơ bản GDL (Ngôn ngữ mô tả hình học) là một ngôn ngữ lập trình giống như BASIC được thiết kế để hoạt động trong môi trường ARCHICAD. Nó mô tả các cơ thể rắn 3D (chẳng hạn như cửa ra vào, cửa sổ, đồ nội thất) và các biểu tượng 2D trong cửa sổ sơ đồ mặt bằng. Các đối tượng này được gọi là Tính năng Thư viện.

Đối với những người ít nhất một chút quen thuộc với lập trình, việc thành thạo ngôn ngữ này sẽ không khó. Tuy nhiên, nếu có đủ mong muốn, việc học GDL sẽ hoàn toàn nằm trong khả năng của một người ở xa môi trường này. Bất kỳ kiến trúc sư nào đã nghiên cứu hình học và hình học mô tả trong thời đại của mình, có tư duy thể tích tuyệt vời, và đây đã là một nửa thành công. Bạn không cần phải ngay lập tức cố gắng viết các đối tượng phức tạp, điều cần thiết là bắt đầu với các hình dạng và hình thức hình học cơ bản; nhiều thông tin có thể được thu thập bằng cách kiểm tra các tập lệnh của các Mục Thư viện khác. Nguồn thông tin chính là hướng dẫn tham khảo GDL, có thể được truy cập thông qua menu Trợ giúp trong chính ARCHICAD. Vì vậy, tại sao một kiến trúc sư có thể hưởng lợi từ kiến thức về GDL? Ví dụ: không giống như Grasshopper, nơi bạn có thể tạo các cấu trúc phức tạp, GDL đơn giản là không thể thiếu để viết các điểm đánh dấu và chú thích khác nhau, cũng như để tạo các thành phần đặc biệt cho các Tính năng hoặc công cụ Thư viện khác. Một trong những ứng dụng đầu tiên của GDL trong công việc của tôi là việc tạo ra một chiếc lá cửa bảng đặc biệt, khi thay đổi kích thước, nó không mở rộng theo mọi hướng mà chỉ thay đổi kích thước bảng điều khiển. Độ dày của khung xoăn và chiều rộng của dây nịt không thay đổi. Ngoài ra, các kiến trúc sư thường muốn thêm một số chức năng đơn giản vào các đối tượng hiện có của các thư viện chuẩn - và đây là lý do chính khiến họ bắt đầu nghiên cứu sâu hơn về GDL. Tất nhiên, kiến thức về GDL không phải là điều quan trọng, và nhiều công việc trong số này có thể được thực hiện bằng các công cụ tiêu chuẩn. Ví dụ, bạn có thể xây dựng các ô nạp bằng các tấm và lưu chúng dưới dạng một lá cửa đặc biệt. Nếu bạn chỉ có một vài trong số những cánh cửa không đạt tiêu chuẩn này, thì điều này sẽ còn nhanh hơn. Nhưng nếu trong dự án của bạn có nhiều cánh cửa giống nhau với các kích thước khác nhau và chiều rộng của chúng thay đổi trong quá trình làm việc, thì việc viết bảng điều khiển đặc biệt trong GDL sẽ giúp tăng tốc và đơn giản hóa công việc rất nhiều. Mô tả hình học ngụ ý rằng bất kỳ hình dạng nào có thể được viết bằng văn bản theo kích thước hoặc tọa độ. Đối với tập lệnh 3D, có một khối lệnh cho các hình dạng không gian cơ bản, chẳng hạn như: - KHỐIGẠCH - một hình bình hành được xây dựng theo ba chiều với gốc tại điểm 0 của hệ tọa độ CHẶN a, b, c GẠCH a, b, c

phóng to
phóng to

- CYLIND - hình trụ dọc theo trục Z, với chiều cao h và bán kính r CYLIND h, r

- QUẢ CẦU - hình cầu có tâm tại gốc và bán kính r SPHERE r

phóng to
phóng to

Một hình elip và một hình nón được mô tả theo cách tương tự. Khối hình tiếp theo đã phức tạp hơn - đây là những hình lăng trụ khác nhau. Chúng được mô tả bởi một tập hợp các tọa độ điểm. Hình lăng trụ đơn giản nhất được xác định bởi số điểm (n), chiều cao (h) và liệt kê tọa độ của tất cả các điểm theo thứ tự. PRISM n, h, x1, y1, … xn, yn

Có rất nhiều loại lăng kính. Lần xem tiếp theo, PRISM_, cho phép bạn chỉ ra mã trạng thái cho tọa độ của các điểm, xác định khả năng hiển thị của các mặt và các cạnh, đồng thời cho phép bạn tạo các lăng trụ cong và lăng trụ có lỗ (xem phần Mã trạng thái trong sách tham khảo). Các loại khác, BPRISM_, tạo ra một lăng kính xoắn quanh trục Y. FPRISM_ xây dựng một lăng kính với một vát hoặc phi lê ở mặt trên.

phóng to
phóng to

Có một số lệnh mô tả các hình dạng dựa trên polyline phức tạp hơn: EXTRUDE, PYRAMID, REVOLVE, RULED, SWEEP, TUBE, COONS, MASS. Mô tả của họ với các ví dụ có thể được tìm thấy trong tài liệu tham khảo. Đối với tập lệnh 2D, các hình dạng được mô tả bằng các lệnh khác: đường thẳng, hình tròn, hình chữ nhật, đường đa tuyến, đường nét. Nhưng bạn cũng có thể đăng ký lệnh để xây dựng hình chiếu từ tập lệnh 3D.

Tạo hình dạng 2D hoặc 3D chỉ là một phần chức năng của GDL. Nếu bạn chỉ cần một bảng, thì việc xây dựng nó bằng các công cụ của chính ARCHICAD sẽ dễ dàng hơn. Một đối tượng được viết trong trường hợp yêu cầu một số loại tham số: khả năng chọn các loại chân bàn khác nhau, số lượng chân, thay đổi kích thước bàn trong khi vẫn giữ nguyên các kích thước còn lại, tính toán gỗ để sản xuất, trọng lượng và chi phí. Đối tượng có thể không chứa bất kỳ hình học nào mà chỉ thực hiện các phép tính. Đối với điều này, các Điều khoản Điều khiển (Toán tử Điều khiển) cũng được sử dụng, chẳng hạn như các vòng lặp, các câu lệnh điều kiện, đề cập đến một vị trí cụ thể trong mã (chương trình con). Tốt nhất là bạn nên tự làm quen với các chu kỳ và điều kiện ngay từ đầu - chúng được sử dụng thường xuyên. Vì vậy, tất cả các ví dụ dưới đây đều có câu lệnh điều kiện. VÍ DỤ # 1 - xoay đối tượng Các nhà thiết kế thường muốn làm cho một đối tượng có thể xoay chuyển được. Sử dụng ví dụ đơn giản này, chúng ta sẽ xem xét cấu trúc của Mục thư viện, cũng như các cửa sổ chính của Trình soạn thảo đối tượng GDL. Để mở bất kỳ đối tượng nào nằm trong không gian dự án (nếu nhà phát triển chưa đặt mật khẩu), bạn cần chọn đối tượng đó và nhấn tổ hợp phím Ctrl + Shift + O. Một cách khác là sử dụng menu Tệp> Thư viện và Đối tượng> Mở Đối tượng. Nếu tại thời điểm này không có đối tượng nào được chọn, thì một cửa sổ để chọn đối tượng sẽ mở ra. Ví dụ, hãy thêm các thông số xoay vào lưới tản nhiệt (Hình 1).

phóng to
phóng to

Vì vậy, chúng tôi đã mở cửa sổ GDL Object Editor (Hình 2). Ở trên cùng bên trái, có một cửa sổ để xem các chế độ xem khác nhau, như trong cửa sổ thông thường của các tham số đối tượng; ngay cả ở bên trái là các nút để chọn chế độ xem - kế hoạch, độ cao, cửa sổ 3D và bản xem trước. Bên dưới có các nút để mở bảng tham số, danh sách dữ liệu và tập lệnh. Tập lệnh có thể được mở theo hai cách: nhấp vào nút có tên tập lệnh - mở trong cùng một cửa sổ, nhấp vào nút bên phải có biểu tượng cửa sổ - tập lệnh sẽ mở trong một cửa sổ riêng biệt. Điều này có thể hữu ích để xem các tập lệnh khác nhau cùng một lúc (Hình 3).

phóng to
phóng to

Ở đầu cửa sổ của bất kỳ tập lệnh nào, có một nút Kiểm tra rất cần thiết: khi bạn nhấp vào nó, trình soạn thảo sẽ nhắc bạn nếu có bất kỳ lỗi nào trong tập lệnh. Thông báo sẽ chứa lý do gây ra lỗi và số dòng nơi lỗi được tìm thấy. Trong phần "Chi tiết", bạn có thể chọn một loại phụ đối tượng: lá cửa tùy chỉnh, tay nắm cửa, khung tường rèm, v.v. Vì vậy, các đối tượng đặc biệt (bút, canvas, khung) sẽ xuất hiện trong cửa sổ tương ứng để chọn các yếu tố này. Khi loại 2D được chọn, đối tượng sẽ không có cửa sổ cho hình học 3D. Ở đó, bạn cũng có thể chọn các loại cho các điểm đánh dấu khác nhau - một nút, các phần, chú thích của người dẫn đầu, các khu vực; chúng cũng sẽ xuất hiện trong các công cụ tương ứng. Trong phần này, bạn có thể điền mô tả về đối tượng và chọn mật khẩu. Hơn nữa - "Tham số", trong đó tất cả dữ liệu được sử dụng trong đối tượng này và có thể thay đổi trong khi làm việc trên dự án được trình bày dưới dạng một bảng. Ở đây chúng ta cần thêm các thông số cho các lượt, chúng ta sẽ sử dụng sau.

phóng to
phóng to

Nhấn nút Mới ở phía trên bảng (Hình 4). Một hàng mới sẽ xuất hiện mà bạn cần điền vào các cột. Cột đầu tiên trong số các cột này là Biến. Ở đây chúng tôi viết tên của biến, sẽ được sử dụng trong các tập lệnh, bằng tiếng Latinh và không có dấu cách. Bạn cần đặt tên sao cho dễ nhớ, đồng thời dễ hiểu biến này có nhiệm vụ gì. Trong trường hợp của chúng ta, chúng ta cần tạo hai biến cho giá trị của các góc quay dọc theo trục X và Y (đối tượng có thể được quay quanh trục Z ngay trong kế hoạch). Tôi quyết định đặt tên chúng là angle_x và angle_y. Trong cột tiếp theo, bạn cần chọn kiểu dữ liệu. Các lựa chọn được trình bày trong bảng 1.

phóng to
phóng to

Hai kiểu cuối cùng không được sử dụng trong việc xây dựng đối tượng, nhưng cần thiết để làm rõ ràng hơn và có trật tự hơn cho danh sách trong cửa sổ tham số đối tượng. Chúng ta cần một góc - đây là biểu tượng thứ hai trong bảng. Cột thứ ba là Tên. Ở đây bạn có thể viết mà không có quy tắc bằng bất kỳ ngôn ngữ nào chính xác những gì chúng ta muốn xem sau này trong cửa sổ tham số đối tượng. Và cột cuối cùng là Giá trị. Bây giờ bạn có thể để 0 ở đây: giá trị này thay đổi bất kỳ lúc nào cả trong tập lệnh và trong các tham số của chính đối tượng. Hình 2 cho thấy hai tùy chọn mới trông như thế nào trong cửa sổ GDL Object Editor. 5. Sử dụng các mũi tên ở đầu dòng để di chuyển đoạn thẳng đến vị trí thuận tiện.

phóng to
phóng to

Sau đó, bạn cần lưu đối tượng dưới một tên mới, vì thư viện tiêu chuẩn được mã hóa cứng vào vùng chứa và bạn không thể ghi đè các đối tượng trong đó. Cửa sổ Object Parameters bây giờ sẽ trông như thế này (Hình 6).

phóng to
phóng to

Có hai tham số mới, giá trị của chúng có thể được thay đổi bất kỳ lúc nào. Nhưng bây giờ sẽ không có gì xảy ra, vì không có lệnh nào được viết bằng cách sử dụng chúng. Bây giờ bạn cần mở cửa sổ tập lệnh 3D. Dưới đây là mô tả đầy đủ về cách xây dựng mô hình 3D dựa trên các thông số đã cho. Ngoài ra, nhiều macro khác nhau có thể được lồng vào đối tượng. Trước tất cả các cấu tạo, bạn cần xoay hệ tọa độ mà đối tượng sẽ được xây dựng. Ở đây, điều quan trọng là phải hiểu logic sau: tất cả các phép quay, chuyển động và chia tỷ lệ xảy ra khác với khi làm việc trong chính ARCHICAD. Chúng tôi không lấy một phần tử và xoay nó, mà xoay hệ tọa độ toàn cục (sau khi thay đổi nó, nó sẽ trở thành cục bộ) trước mặt xây dựng một đối tượng. Move (ADD Command), Rotate (ROT), Scale (MUL) là các lệnh biến đổi hệ tọa độ. Các biến đổi tiếp theo có thể bị xóa từng cái một, nhiều biến cùng một lúc hoặc xóa tất cả cùng một lúc. Cuốn sách tham khảo mô tả tất cả những điều này một cách chi tiết và đầy đủ với các ví dụ. Ví dụ về việc di chuyển một hệ tọa độ trong không gian 3D dọc theo ba trục cùng một lúc được thể hiện trong Hình. 7. THÊM a, b, c

phóng to
phóng to

Vì vậy, trước tất cả các phép dựng, chúng ta quay hệ tọa độ, đầu tiên dọc theo một trục, sau đó dọc theo trục khác. Xoay dọc theo trục X được thực hiện bởi lệnh ROTX alphax, trong đó alphax là góc quay ngược chiều kim đồng hồ; thay vì alphax, bạn cần nhập một biến đã tạo trước đó. Chuyển động quay dọc theo trục Y được thực hiện theo cách tương tự (Hình 8).

phóng to
phóng to

Bây giờ bạn có thể đặt các góc khác nhau để xoay - và các thay đổi trong mô hình 3D sẽ diễn ra trong khung nhìn nằm ở trên cùng bên trái (Hình 9).

phóng to
phóng to

Bây giờ bạn có thể đặt các góc khác nhau để xoay - và các thay đổi trong mô hình 3D sẽ diễn ra trong khung nhìn nằm ở trên cùng bên trái (Hình 9). Nhưng không có gì xảy ra trong 2D. Trong kịch bản 2D, một đối tượng được xây dựng với các đường thẳng và đường đa giác riêng biệt, do đó việc vẽ một đối tượng trong kế hoạch nhanh hơn nhiều lần. Tại một địa điểm, điều này là không thể nhận thấy, nhưng nếu có hàng trăm lưới điện như vậy trong dự án, thì sự hãm sẽ rất đáng kể. Bạn có thể tính toán tọa độ của các điểm của các đường này và vẽ chúng như khi chúng nhìn trong hình chiếu của đối tượng được quay, nhưng việc này không đơn giản và không nhanh lắm. Trong mạng tinh thể này, tôi đề xuất giải pháp sau: nếu các góc ở X hoặc Y không bằng 0, thì đối tượng trong tập lệnh 2D, tức là đối với sơ đồ, sẽ được hiển thị dưới dạng hình chiếu của mô hình 3D, và ngược lại theo cách cũ. Hình chiếu của mô hình cho kịch bản 2D được xây dựng bằng lệnh PROJECT2 projector_code, angle, method. Bạn có thể đọc trong sách tham khảo về mã hình chiếu, góc, phương thức, nhưng chúng ta sẽ làm quen với lệnh quan trọng hơn từ phần các câu lệnh điều khiển IF - THEN - ELSE - ENDIF. Đây là những câu điều kiện sẽ giúp bạn xây dựng mệnh đề điều kiện từ đoạn trước. Trong bộ lễ phục. 10 Tôi đã đánh dấu các lệnh đã thêm trong tập lệnh 2D và thêm "dịch" màu đỏ ở bên phải.

phóng to
phóng to

Bây giờ bạn chỉ cần lưu đối tượng và bạn có thể sử dụng nó (Hình 11). Ưu điểm của phương pháp này so với chuyển đổi thành morph là đối tượng vẫn là tham số, nó có thể được đọc trong các thông số kỹ thuật, trong đó bạn có thể thay đổi kích thước của các thanh, kích thước của khung và mọi thứ khác trong đối tượng ban đầu.

phóng to
phóng to

Vì vậy, chi tiết bằng cách sử dụng ví dụ này, chúng tôi đã kiểm tra các cửa sổ và tập lệnh chính của Trình soạn thảo đối tượng GDL. Nếu đối tượng bạn đã chọn để xoay có các tham số không ở dạng danh sách, như trong mạng tinh thể này, mà ở dạng hình ảnh và sơ đồ, điều này có nghĩa là nhà phát triển cũng đã viết một giao diện đồ họa. Thông thường, danh sách tiêu chuẩn với các tham số bị ẩn, như trong Hình. 12: Không có phần "Tất cả các tham số" trong danh sách thả xuống của các trang tham số.

phóng to
phóng to

Trong trường hợp này, bạn cần vào tập lệnh tham số và tìm lệnh ẩn tất cả các tham số (Hình 13). Tập lệnh này mô tả tất cả các hành động ảnh hưởng đến các tham số: - chỉ định các tùy chọn hoặc phạm vi các giá trị có thể có (GIÁ TRỊ); - bất kỳ phép tính nào, kết quả được gán cho tham số (PARAMETERS); - ẩn hoặc khóa các tham số (HIDEPARAMETER, LOCK).

phóng to
phóng to

Bạn có thể xóa dòng HIDEPARAMETERS ALL một cách đơn giản hoặc bằng cách đặt dấu "!" Ở đầu dòng để không thể đọc được (theo cú pháp GDL, dòng bắt đầu bằng dấu chấm than được coi là nhận xét. Hơn nữa, tôi sẽ viết mô tả và bản dịch trong ảnh chụp màn hình sau dấu "!"). Sau đó, dòng "Tất cả các thông số" sẽ xuất hiện trong danh sách các trang thông số, và bằng cách chọn nó, bạn sẽ thấy một danh sách tiêu chuẩn với các thông số, trong số đó sẽ có các dòng mới để xoay vòng. VÍ DỤ # 2 - văn bản trên một biểu tượng Tôi lấy ví dụ tiếp theo từ dự án hiện tại. Khi làm việc với kế hoạch của một tòa nhà dân cư nhiều căn hộ, yêu cầu phải đặt chữ "K" trên các dàn nóng của máy điều hòa không khí - và sao cho nó luôn được đặt theo phương thẳng đứng. Tất nhiên, lá thư có thể chỉ đơn giản được thêm vào trên cùng với văn bản hoặc một dòng chữ bên ngoài, nhưng sau đó, khi máy điều hòa được bật, văn bản cũng có thể phải được di chuyển. Để bắt đầu, tôi đã thêm bốn tham số mới (Hình 14):

phóng to
phóng to

1. Hiển thị văn bản: kiểu tham số là một giá trị boolean, ngụ ý hai giá trị có thể có: 0 (không) và 1 (có). Vì vậy, văn bản có thể được bật hoặc tắt.

2. Văn bản đặc biệt: kiểu tham số - văn bản. Cho phép bạn viết bất kỳ văn bản nào vào biểu tượng (Tôi định sử dụng một chữ cái sao cho nó nằm gọn bên trong hình chữ nhật của khối điều hòa).

3. Font: gõ - văn bản. Xin lưu ý rằng một số kiểu viết của biến này cho phép bạn chọn các giá trị phông chữ trong cột từ danh sách các giá trị được cài đặt trên máy tính. "Fonttype" gọi danh sách này tự động, nhưng nếu tôi viết "typefont" hoặc chỉ "font", thì tôi phải viết tên của phông chữ theo cách thủ công. Tôi tình cờ nhận thấy khoảnh khắc này ở một trong những đối tượng tiêu chuẩn.

4. Bút văn: gõ - bút. Vâng, mọi thứ đều rõ ràng ở đây.

Bây giờ chúng ta hãy nhìn vào các biểu tượng mà tôi đã nhấp vào ở đầu các dòng. Dòng đầu tiên có một biểu tượng được nhấn

Image
Image

có nghĩa là in đậm - đậm. Tức là dòng này trong cửa sổ tham số đối tượng sẽ được in đậm. Ba cái còn lại có một bức tranh tượng hình

Image
Image

… Có nghĩa là các dòng này sẽ được lồng vào danh sách sổ xuống dưới dòng đầu tiên. Trong bộ lễ phục. 15 là ảnh chụp màn hình minh họa nó trông như thế nào trong các Tham số Đối tượng. Để bắt đầu, tôi đã thêm bốn tham số mới (Hình 15):

Рис. 15. Окно Параметров Объекта
Рис. 15. Окно Параметров Объекта
phóng to
phóng to

Và trong hình. 16 - những gì tôi đã thêm trong một kịch bản 2D (theo truyền thống có bản dịch và lời bình).

phóng to
phóng to

Quả sung. 16. Đã thêm các dòng trong tập lệnh 2D Trong ảnh chụp màn hình tiếp theo (Hình 17), để rõ ràng hơn, tôi đã tô màu các loại từ / lệnh / biến khác nhau.

phóng to
phóng to

Đối tượng đã sẵn sàng (hình 18).

phóng to
phóng to

Và nếu tôi không viết các dòng có xoay và chia tỷ lệ, thì đối tượng sẽ giống như trong hình. 19.

phóng to
phóng to

VÍ DỤ # 3 - chi tiết Để đơn giản hóa công việc trên một dự án, khi viết một đối tượng, bạn có thể thêm một tham số văn bản với một số tùy chọn để chi tiết hóa (đơn giản, trung bình, chi tiết). Và trong kịch bản 3D, khi xây dựng các bộ phận nhỏ khác nhau, hãy thêm một điều kiện thuộc loại: nếu mức độ chi tiết = "chi tiết", thì (mô tả về các bộ phận xây dựng) phần cuối của điều kiện Biến toàn cục đáng được quan tâm đặc biệt. Chúng dài 40 trang trong sổ tay tham khảo và được nhóm theo chủ đề để dễ dàng tìm kiếm. Trong ví dụ trước, tôi đã sử dụng một số dữ liệu hướng đối tượng trong dự án. Phần tương tự của sổ tay tham chiếu chứa các Biến toàn cục cho tọa độ của vị trí đối tượng - chúng được sử dụng để tạo các đối tượng chẳng hạn như hình đầu đàn có tọa độ hoặc độ cao trên một mặt cắt / độ cao. Rất thường GLOB_SCALE được sử dụng - tỷ lệ của bản vẽ (phụ thuộc vào chế độ xem theo cửa sổ hiện tại), ở tỷ lệ 1: 100, tỷ lệ 1: 100 bằng 100, ở tỷ lệ 1:20, tỷ lệ này bằng 20. Nó thường được sử dụng để chuyển đổi kích thước phông chữ sang mét mô hình hoặc ngược lại. Ngoài ra, tham số này có thể được sử dụng để "treo" các tùy chọn hiển thị trên sơ đồ. Ví dụ: đối với một chiếc ghế dài, hãy viết những điều sau trong tập lệnh 2D:

NẾU GLOB_SCALE <100 THEN ! nếu tỷ lệ lớn hơn 1: 100, thì
DỰ ÁN 2 3, 270, 2 ! xây dựng phép chiếu từ mô hình 3D
ELSE ! nếu không thì
ENDIF ! điều kiện kết thúc

Vì vậy, trên quy hoạch tổng thể tỷ lệ 1: 500, các băng ghế sẽ được hiển thị dưới dạng hình chữ nhật, và trên một mảnh có tỷ lệ lớn hơn, một hình chiếu chi tiết sẽ được vẽ. Một kỹ thuật tương tự, nhưng đối với mô hình ba chiều, được sử dụng trong cây tiêu chuẩn - nếu bạn bật hộp kiểm Loại vương miện tự động. Ở một khoảng cách nhất định so với máy ảnh, kiểu vương miện thay đổi từ chi tiết thành đơn giản và từ đơn giản sang hình elip. Đúng vậy, để các tập lệnh của đối tượng được đọc lại, bạn cần phải làm gì đó với chúng - ví dụ: sau khi thay đổi phối cảnh, đánh dấu tất cả các cây, mở cửa sổ tham số của đối tượng và không thay đổi bất cứ điều gì, chỉ cần nhấp vào OK, hoặc nhấp và bỏ chọn hộp kiểm thay thế vỏ.

Hãy để tôi chỉ ra nó bằng cách sử dụng ví dụ về tính gần đúng một hình cầu. Đây là những gì tôi đã viết trong tập lệnh 3D: discam_x = abs (GLOB_EYEPOS_X-SYMB_POS_X) discam_y = abs (GLOB_EYEPOS_Y-SYMB_POS_Y) discam_h = sqr (discam_x ^ 2 + discam_y ^ 2) discam_z = discam_By ^ 2 + diskam_By ^ 2) = 20 thì res = 50 nếu discam20 thì res = 20 nếu discam30 thì res = 10 nếu discam> 40 thì res = 5 phân giải res hình cầu 1 Trong tập lệnh, tôi đã sử dụng các biến toàn cục GLOB_EYEPOS_X, GLOB_EYEPOS_Y, GLOB_EYEPOS_Z là tọa độ của vị trí của camera (mắt) trong cửa sổ 3D của dự án và SYMB_POS_X, SYMB_POS_Y, SYMB_POS_Z là tọa độ vị trí của đối tượng trong không gian; abs - mô-đun số (loại bỏ "-", nếu có); sqr - căn bậc hai; ^ 2 - bình phương một số.

Trong cửa sổ 3D, ở các khoảng cách khác nhau từ máy ảnh, hình cầu sẽ được vẽ với các giá trị gần đúng khác nhau. Để rõ ràng, tôi đã bật chế độ khung dây (Hình 20).

phóng to
phóng to

Thông qua Global Variables, đối tượng có thể nhận được: - dữ liệu về vị trí của dự án (bắc, vĩ độ, kinh độ, độ cao), được thiết lập trong hộp thoại tương ứng; - tầng hiện tại và tầng riêng; - loại chế độ xem hiện tại (ví dụ, trong các jumper GOST, điều kiện sau được sử dụng: nếu loại chế độ xem là một danh sách, thì hãy xây dựng một chế độ xem jumper trong một phần có các vị trí dẫn đầu); trong ví dụ với mạng tinh thể, bạn có thể thêm điều kiện sau: nếu kiểu xem là danh sách, thì không xoay hệ tọa độ, để trong mọi trường hợp sẽ có hình chiếu chính diện trong danh sách mạng; - hiển thị không đầy đủ các cấu tạo (bạn có thể làm cho đối tượng không hiển thị một số bộ phận nếu chỉ chọn lõi).

Bạn có thể kéo dữ liệu tường vào đối tượng cửa sổ hoặc cửa ra vào. Chú thích có thể nhận được nhiều thông tin khác nhau về phần tử mà chúng được liên kết với nó, ví dụ: hộp kiểm có các lớp của cấu trúc nhiều lớp hoặc phần dẫn đầu có khối lượng phần tử. Và như vậy, 40 trang về các Biến toàn cục khác nhau và rất hữu ích. VÍ DỤ 4 - điểm đánh dấu vùng Hãy xem cách tạo điểm đánh dấu vùng tùy chỉnh. Nếu bạn tạo một đối tượng mới và chọn kiểu phụ Zone Passport cho nó trong phần Chi tiết, thì trong phần Tham số, tất cả các tham số cụ thể mà công cụ Zone chuyển đến điểm đánh dấu được hiển thị bằng màu xanh lam (Hình 21).

Рис. 21. Параметры объекта подтипа Паспорт Зоны
Рис. 21. Параметры объекта подтипа Паспорт Зоны
phóng to
phóng to

Sử dụng lệnh TEXT2, bạn có thể viết bất kỳ biến nào trong số này trong tập lệnh 2D - đây là cách bạn có được một điểm đánh dấu chỉ bao gồm văn bản (Hình 22).

phóng to
phóng to

Sử dụng các thông số chung của điểm đánh dấu vùng, bạn có thể xác định kiểu văn bản và chiều cao dòng tùy thuộc vào chiều cao phông chữ: DEFINE STYLE “ROOM” AC_TextFont_1, ROOM_LSIZE, 5.0 STYLE “ROOM” row = ROOM_LSIZE / 1000 * GLOB_SCALE * 1.5 text2 0, row, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, ROOM_AREA Bạn có thể tạo một tham số mới để chọn loại điểm đánh dấu (Hình 23), đặt các tùy chọn cho nó trong tập lệnh Tham số (Hình 24) và trong Kịch bản 2D viết các kiểu kết xuất điểm đánh dấu khác nhau cho các kiểu khác nhau.

phóng to
phóng to
phóng to
phóng to

Tập lệnh 2D: if mt = "marker with number" thì text2 0, 0, ROOM_NUMBER CIRCLE2 0,0, row endif nếu mt = "number and area" thì text2 0, row / 2, ROOM_NUMBER text2 0, -row / 2, AREA_TEXT endif nếu mt = "tiêu đề và khu vực" thì text2 0, row / 2, ROOM_NAME text2 0, -row / 2, AREA_TEXT endif nếu mt = "number, title and area" thì text2 0, row, ROOM_NUMBER text2 0, 0, ROOM_NAME text2 0, -row, AREA_TEXT endif if mt = "area only" then text2 0, 0, AREA_TEXT endif Trong tập lệnh này, tôi không sử dụng biến khu vực được xác định trước làm khu vực, nhưng đã chuyển đổi khu vực thành văn bản và thêm vào đơn vị nó: area = str (ROOM_AREA, 4, 2)! chuyển đổi một số thành văn bản có 2 chữ số thập phân AREA_TEXT = area + "sq.m." ! thêm vào giá trị chuỗi ký tự "sq.m." Bạn có thể bổ sung các dòng trong điểm đánh dấu bằng các dòng ngăn cách một số dòng. Để tìm độ dài của một chuỗi, hãy sử dụng lệnh STW. Hãy thêm vào đầu tập lệnh: tl1 = stw (ROOM_NUMBER) / 1000 * GLOB_SCALE tl2 = stw (ROOM_NAME) / 1000 * GLOB_SCALE tl3 = stw (AREA_TEXT) / 1000 * GLOB_SCALE nếu mt = "số và diện tích" thì tl = MAX (tl1, tl3) nếu mt = “số, tiêu đề và diện tích” thì tl = MAX (tl1, tl2) nếu mt = “tiêu đề và diện tích” thì tl = MAX (tl2, tl3) nếu mt = “chỉ diện tích” thì tl = tl3 VÀ trong các biến thể của điểm đánh dấu, hãy thêm các dòng bằng lệnh LINE2 (Hình 25).

Рис. 25. 2D-скрипт
Рис. 25. 2D-скрипт
phóng to
phóng to

Nếu số vùng bao gồm một số chữ số, đối với điểm đánh dấu, bạn có thể tạo một tham số cho bán kính của hình tròn, không phụ thuộc vào chiều cao phông chữ hoặc thay vì hình tròn, hãy mô tả một hình dạng giống hình elip có chiều dài bằng chiều dài của dòng số vùng mà chúng tôi đã tìm thấy trước đó: POLY2_ 5, 1 + 2 + 4, -tl1 / 2, row, 1, tl1 / 2, row, 1, tl1 / 2, -row, 1001, -tl1 / 2, -row, 1, -tl1 / 2, row, 1001 Bạn có thể thêm một tham số mới cho loại sàn (FLOOR_TYPE) và một tham số cho phép bạn ẩn hoặc hiển thị nó (ShowFloorType) và trong tập lệnh 2D, hãy thêm một hình tam giác với polyline và văn bản có loại sàn: if ShowFloorType then ADD2 0, row * 3 POLY2_ 4, 1, -row * 1.4, -row * 0.8, 1, row * 2,8,60,201, row * 1,4, -row * 0.8, 1, 0,0,700 text2 0,0, FLOOR_TYPE endif Đối với loại sàn, bạn nên thêm một tham số riêng cho bút, cũng như các điểm để chỉnh sửa đồ họa vị trí của điểm đánh dấu sàn. Tôi đã mô tả chi tiết cách thêm điểm chỉnh sửa đồ họa trong hội thảo trên web của mình và sử dụng liên kết ở cuối bài viết, bạn có thể tải xuống các đối tượng và xem cách thực hiện điều này trong trường hợp cụ thể này.

Và cuối cùng, chúng ta hãy xem xét một loại phụ rất quan trọng khác của một đối tượng mở ra những khả năng tuyệt vời - Tham số toàn cầu của Thư viện (Hình 26).

phóng to
phóng to

Một đối tượng với kiểu con này không xây dựng hoặc vẽ bất cứ thứ gì, nó xác định các tham số trong các khung nhìn mô hình. Do đó, ở đó bạn có thể lấy ra những tham số mà bạn muốn thấy chung cho đối tượng, nhưng đồng thời có thể đặt các giá trị khác nhau cho các kiểu khác nhau.

Tôi sẽ chỉ ra điều này với một ví dụ về điểm đánh dấu vùng. Tôi đã xem qua các dự án trong đó có một số tập hợp các vùng ở các lớp khác nhau cho các chế độ xem khác nhau. Nếu có nhu cầu về các điểm đánh dấu khác nhau, thì Tham số chung của Thư viện là giải pháp tốt nhất.

Tôi có một điểm đánh dấu trong đó có thể đặt loại sàn theo hình tam giác và thay đổi kiểu đánh dấu (hình 27). Và hai tham số này được chuyển đến một tệp riêng biệt của kiểu phụ Tham số Thư viện Toàn cầu (Hình 28).

phóng to
phóng to
phóng to
phóng to

Để các thông số này được hiển thị trong hộp thoại Model View Parameters, bạn cần đăng ký chúng trong script giao diện đối tượng (Hình 29). Tôi sẽ không trình bày chi tiết về các lệnh đặc biệt cho tập lệnh này, chúng được mô tả đầy đủ chi tiết và kèm theo các ví dụ trong sách tham khảo. Tôi sẽ chỉ nói rằng ở đây chúng tôi mô tả vị trí của nhãn hoặc nút này (một trường có lựa chọn tùy chọn, dấu kiểm, v.v.), hình ảnh cũng có thể được chèn vào Giao diện người dùng. Trong thư viện chuẩn, hầu hết mọi đối tượng đều có giao diện đồ họa; bạn có thể thấy tất cả các khả năng và xem các tập lệnh này được viết như thế nào. Ngoài nút Kiểm tra, tập lệnh còn có nút Xem. Bằng cách nhấp vào nó, bạn có thể nhanh chóng xem điều gì sẽ xảy ra.

phóng to
phóng to

Bạn có thể lưu đối tượng và xem nó trong hộp thoại Model View Options (Hình 30). Ở đây chúng ta có thể thay đổi loại đánh dấu cùng một lúc cho tất cả các khu trong dự án (với điểm đánh dấu này), nhưng riêng biệt cho các loại khác nhau.

phóng to
phóng to

Bây giờ, trong đối tượng đánh dấu vùng, bạn cần truy vấn đối tượng để biết các giá trị của hai tham số này. Trong Tập lệnh chính (được đối tượng đọc trước, vì vậy tất cả các phép tính và định nghĩa giá trị sẽ được sử dụng trong một số tập lệnh, tốt hơn nên viết ở đây) tôi viết hai dòng như thế này: thành công1 = LIBRARYGLOBAL ("LibraryGlobals20 "," ShowFloorType ", ShowFloorType) success2 = LIBRARYGLOBAL (" LibraryGlobals20 "," mt ", mt)" thành công "sẽ là 1 nếu yêu cầu thành công; nếu không nó sẽ là 0.

Điều này có thể được sử dụng để viết một thông báo cảnh báo thay vì một điểm đánh dấu vùng mà đối tượng LibraryGlobals20 chưa được tải vào thư viện.

Sau đó, đối tượng hoạt động như bình thường, sử dụng hai giá trị mới: nếu kiểu đánh dấu là như vậy và tương tự, thì viết như vậy và tương tự, v.v. Trong bài viết này, tôi chỉ đề cập đến một phần nhỏ các khả năng của GDL. Với sự trợ giúp của nó, bạn có thể tạo cả các yếu tố thiết kế rất đơn giản và các đối tượng rất phức tạp.

Ví dụ, bạn đang xử lý các ngôi nhà nhỏ và đơn giản bằng bảng điều khiển SIP. Bạn có một danh sách cụ thể các lựa chọn để thay đổi dự án: - chiều dài và chiều rộng của ngôi nhà có thể từ 2,4 đến 24 mét với bước 1,2 m; - nếu chiều rộng vượt quá 6 m thì phải có một bức tường khác ở giữa; - hai tùy chọn về chiều cao sàn tùy thuộc vào kích thước bảng điều khiển; - số tầng - một hoặc hai tầng; - cửa sổ có thể ở những vị trí nhất định của các tấm có kích thước nhất định; - hoàn thiện mặt tiền trong ba phiên bản; - lợp mái trong ba phiên bản; - độ dày của tường với một số kích thước tiêu chuẩn, v.v.

Bạn có thể đặt tất cả các thông số này cho đối tượng bằng cách thêm chi phí cho mỗi mét vuông của bảng điều khiển, mái nhà, trang trí, v.v. Và trong kịch bản 2D và 3D của đối tượng, hoàn toàn xây dựng và vẽ ngôi nhà này với các biến thay vì kích thước tĩnh. Để người dùng không bị nhầm lẫn trong một danh sách dài các thông số, bạn có thể viết một giao diện đồ họa cho một số trang với hình ảnh và sơ đồ. Trong Tập lệnh chính, tính toán tất cả các khối lượng và hiển thị chi phí. Cũng có thể hiển thị một bảng với cách bố trí các bảng trong kịch bản 2D bên cạnh kế hoạch. Viết một đối tượng như vậy sẽ mất rất nhiều thời gian, bạn sẽ cần phải vẽ ra một đặc điểm kỹ thuật chi tiết, cung cấp cho tất cả các sắc thái, nhưng sau đó bạn sẽ nhận được không chỉ một đối tượng, mà gần như một chương trình, trong đó, bằng cách chọn các tham số, bạn có thể nhận được một bộ thiết kế nháp với tính toán vật liệu và chi phí cho khách hàng. Hy vọng rằng tổng quan này đã khơi gợi sự quan tâm của ai đó đến các khả năng của GDL. Câu chuyện của tôi bắt đầu với mong muốn thay đổi một số chi tiết nhỏ trong một số điểm đánh dấu vùng tiêu chuẩn, và tôi càng đọc hướng dẫn, thì tiềm năng của công cụ này, theo quan điểm của tôi, rất hữu ích cho một kiến trúc sư, càng được bộc lộ. Từ liên kết bên dưới, bạn có thể tải xuống tất cả các đối tượng được coi là ví dụ trong bài viết này: Tải xuống ví dụ Ghi chú. ARCHICAD 20 được sử dụng để viết các đối tượng này, vì vậy chúng sẽ không mở trong các phiên bản trước đó. Giới thiệu về GRAPHISOFT Công ty GRAPHISOFT® cách mạng hóa BIM vào năm 1984 với ARCHICAD® Là giải pháp BIM đầu tiên của ngành dành cho các kiến trúc sư trong ngành CAD. GRAPHISOFT tiếp tục dẫn đầu thị trường phần mềm kiến trúc với các sản phẩm sáng tạo như BIMcloud ™, giải pháp thiết kế BIM cộng tác thời gian thực đầu tiên trên thế giới, EcoDesigner ™, mô hình năng lượng tích hợp đầy đủ đầu tiên trên thế giới và đánh giá hiệu quả năng lượng của các tòa nhà và BIMx® Là ứng dụng di động hàng đầu để trưng bày và trình bày các mô hình BIM. Kể từ năm 2007, GRAPHISOFT là một phần của Tập đoàn Nemetschek.

Đề xuất: