Professional Documents
Culture Documents
ArchiCAD
GDL for Beginners
by David Nicholson-Cole
i
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.
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
7
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.
9
Chapter 1: Introduction to Object Making
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
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.
13
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.
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.
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ế.
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
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
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.
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
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.
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
Object Making with ArchiCAD
26
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.
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
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
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
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
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.
!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.
41
Chapter 3: Starting with GDL
43
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.
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
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).
!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.
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.
!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
!Door
IF dang3<0 THEN dang3=0 IF
dang3>90 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=A-
fwid*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ễ
Object Making with 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ở
ArchiCAD 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.
57
Chapter 4: Practical Uses for GDL
!Door
IF dang2<0 THEN dang2=0 IF
dang2>90 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.
.
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
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
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.
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/2-
fwid,0+fwid,15,
A/2-fwid,B-fwid,15,
-A/2+fwid,B-fwid,15,
-A/2-fwid,0+fwid,-1 !end of hole
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/2-
fwid,0+fwid,15, A/2-fwid,B-
fwid,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
Object Making with – the outline of the window – to form the frame. TUBEis beyond
ArchiCAD 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
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.
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/2-
fwid,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
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/2-
fwid,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
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
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.
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
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,
-0.616168, 0.307869, 15,
0.583876, 0.307869, 15,
0.583876, -0.288179, 15,
-0.616168, -0.288179, 15,
-0.616168, 0.307869, -1
BODY -1
DEL 1
ArchiCAD
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’.
!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, zzyzx-
tthik,
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.
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ệ
Object Making with sạch sẽ với khung - như trong khớp nối mộng và khớp mộng
ArchiCAD
91
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 1
SET FILL "25 %"
POLY2_B 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
HOTSPOT2 -0.000071, 0.06026
HOTSPOT2 0.048921, 0.06026
HOTSPOT2 0.048921, 0.051348
HOTSPOT2 0.120465, 0.064357
HOTSPOT2 0.173089, 0.03834
HOTSPOT2 0.18728, 0.03834
HOTSPOT2 0.239313, 0.063174
HOTSPOT2 0.325639, 0.048983
HOTSPOT2 0.325639, 0.059626
HOTSPOT2 0.374715, 0.059626
HOTSPOT2 0.179133, -0.056834
HOTSPOT2 -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’).
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
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
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.
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
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.
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 51
BPRISM_ 69
C
Chair 18, 39
Object Making with
ArchiCAD
CIRCLE2 45, 48 107
Commas 71
Comment 33
Index
CONE 34 L
Cones 22
CPRISM 6 Label 37
CPRISM_ 69 Lamp 7
CSLAB 6 LET 55
CUTPLANE 69 Libraries
CYLIND 34, 102 ArchiCAD ~ 4
Complementary ~ 4
DXF and DWG ~ 4
D listing ~ parts 10
loading ~ 3
DEL 38 LINE2 45, 48
Door 53 Location awareness 58
DWG 4 Loops 101
DXF 4, 95 DO... WHILE 104
DXF/DWG Conversion 4 FOR... NEXT 104
REPEAT... UNTIL 104
E WHILE 104
Profiler 5 Z
PROJECT2 38, 44, 56, 75
Properties Script 33, 63 Zoom 4
ZZYZX
R 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
109
Object Making with
ArchiCAD
Index
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