FreeCAD Logo FreeCAD 1.0
  • 영어 아프리칸스어 아랍어 벨라루스어 카탈로니아어 체코어 독일어 그리스어 스페인어 스페인어 바스크어 핀란드어 필리핀어 프랑스어 갈리시아어 크로아티아어 헝가리어 인도네시아어 이탈리아어 일본어 커바일어 한국어 리투아니아어 네덜란드어 노르웨이어(보크말) 폴란드어 포르투갈어 포르투갈어 루마니아어 러시아어 슬로바키아어 슬로베니아어 세르비아어 스웨덴어 터키어 우크라이나어 발센시아어 베트남어 중국어 중국어
  • 특징
  • 다운로드
  • 블로그
  • 문서
    도큐먼트 인덱스 시작하기 사용자 문서 FreeCAD 매뉴얼 워크 벤치 문서 파이썬(Python) 코딩 도큐먼트 C++ coding documentation 자습서 자주 묻는 질문 Privacy policy About FreeCAD
  • 기여
    어떻게 도와 드릴까요 Sponsor 버그 제보 풀 생성 요청 Jobs and funding Contribution guidelines Developers handbook Translations
  • 커뮤니티
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA 정보
SEPA 은행을 은행 에이전시로 이체하도록:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
설정해 주십시오.: BNP Paribas Fortis
주소: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

소개

프로그램에서 대상물들은 그것들의 각각을 해당 파일속에서 구별할 수 있도록 고유의 명칭object name 을 부여 받습니다.

이 사항은 App DocumentObject (App::DocumentObject 클래스) 로 부터 만들어진 모든 개체들에게 적용 되며, 문서개체를 이용해서 기본적 구성을 갖춘 개체를 문서 속에 생성 시킬 수 있습니다.

명칭들

명칭에 관한 몇 가지 규칙들:

  • The Name can only include simple alphanumeric characters, and the underscore, [_0-9a-zA-Z].
  • The Name cannot start with a number; it must start with a letter or the underscore, [_a-zA-Z].
  • The Name is assigned at the creation time of the object; afterwards it is no longer editable. The object can never be renamed.
  • The Name must be unique in the entire document. It doesn't matter if two objects are of completely different types, for example, one is a PartDesign Pocket and the other is an Arch Wall. They must have different names.
  • When creating an object of the same type, normally the name is increased with a sequential number, thus Box, Box001, Box002, etc. This prevents naming collision.
  • Once the object is deleted, its Name becomes available to be used by a newly created object. This means that if Box, Box001, and Box002 exist, and we delete the first item, the next box created with Part Box will not be Box003, it will be Box again, because this string is available to be used once more. Notice that it is not possible to rename Box001 or Box002 to Box since their names are fixed.

In summary, the Name essentially acts like a unique identifier (UID) for an object. Since a unique Name is very restrictive, all objects also have a Label property which allows "renaming" the object to something more descriptive. The internal Name actually remains fixed, but the user editable Label can be used in most situations where the Name would be used. In common usage in the program and the documentation, "renaming" means changing the Label and not the actual Name of the object.

Labels

There are various properties for Labels:

  • The Label can accept any UTF8 string, including accents and spaces.
  • The Tree View actually displays the Label of the object, not the Name. Therefore, whenever a new object is created, it is a good practice to change the Label to a more descriptive string. To rename (relabel) the object, select it in the Tree View and press F2 (or rather Return on macOS), or open the context menu (right-click) and choose Rename.
  • Even after an object was renamed (relabelled), the internal Name will still be reported in many places, for example, in the Status Bar or in the Selection View, when the object is selected.
  • Since the internal functions of the program refer to the objects by Name, many dialogs will display the Name first, followed by the user editable Label in parentheses, for example, Box (Extruded piece).
  • By default the Label is unique, just like the Name. However, this behavior can be changed in the preferences editor, Edit → Preferences → General → Document → Allow duplicate object labels in one document. This means that in general the Label is not unique in the document, and may actually be repeated. However, the recommendation is to keep the Label unique, as this is probably what is most useful to identify different objects. When writing custom functions that manipulate objects, the methods should use the Name of the object rather than its Label to guarantee that the correct object is used.
  • When using expressions, for example, in the Property View or in a spreadsheet, the Label can be referenced using double brackets made of the less than and greater than symbols.
<<Custom Label With Spaces>>.Height
<<Label may use UTF8 characters>>.Width

Label2

It is a simple string that can contain arbitrary text, and therefore can be used for documenting (describing with more detail) the created object.

  • In the Tree View edit the field next to the icon, under "Description", by clicking on it and pressing F2 (or rather Return on macOS).
  • You can also change this property by modifying the Label2 attribute from the Python console.
  • The 데이터Label2 attribute is normally hidden in the Property View but can be made visible by opening the context menu (right click) and selecting Show hidden.

Scripting

See also: FreeCAD Scripting Basics, and scripted objects.

Any object in the software is internally created with the addObject() method of the document. The majority of 2D and 3D objects that the user will see in the 3D View are derived from a Part Feature. In the following example, the object created is a Part Box.

import FreeCAD as App

doc = App.newDocument()
obj = doc.addObject("Part::Box", "Name")
obj.Label = "Custom label"

Name

The addObject function has two basic string arguments.

  • The first argument indicates the type of object, in this case, "Part::Box".
  • The second argument is a string that defines the Name attribute. If it is not provided, it defaults to the same name as the class of the object, that is, "Part__Box", where the two invalid symbols, the colons ::, are replaced by two underscores __.
    • The Name can only include simple alphanumeric characters, and the underscore, [_0-9a-zA-Z]. If other symbols are given, these will be converted to underscores; for example, "A+B:C*" is converted to "A_B_C_".
    • The Name cannot start with a number; it must start with a letter or the underscore, [_a-zA-Z]. For example, "123ABC" is converted to "_23ABC".
    • The Name is fixed at creation time; it cannot be modified afterwards.
    • The Name must be unique in the entire document. If the same "Name" is used, a sequential number will be appended automatically so that the resulting names are unique; for example, if "Name" already exists, then new objects will be called "Name001", "Name002", "Name003", etc.

Label

The Label is a property of the created object and can be changed to a more meaningful text.

  • Upon creating the object, the Label is the same as the Name.
  • However, unlike the Name, the Label can accept any UTF8 string, including accents and spaces.
  • The Label can be changed at any point in time just by assigning the desired string, obj.Label = "New label"

Getting an object by Name or Label

All objects in a document are data attributes of the corresponding Document object. The attribute's name correspond to the internal Name of the object.

import FreeCAD as App

obj1 = App.ActiveDocument.Box
obj2 = App.ActiveDocument.Box001
obj3 = App.ActiveDocument.Box002

This is equivalent to using the getObject method of the Document.

import FreeCAD as App

obj1 = App.ActiveDocument.getObject('Box')
obj2 = App.ActiveDocument.getObject('Box001')
obj3 = App.ActiveDocument.getObject('Box002')

However, it is also possible to get the object by the more descriptive Label.

import FreeCAD as App

obj1 = App.ActiveDocument.getObjectsByLabel("Concrete wall")[0]
obj2 = App.ActiveDocument.getObjectsByLabel("Custom parallelepiped")[0]
obj3 = App.ActiveDocument.getObjectsByLabel("Some special name for this cube__002")[0]

Given that the Label is in general not unique, the getObjectsByLabel method returns a list with all objects found with that Label. However, if the Label is unique in the document then the first element in that list should be the desired object.

이 페이지에서 인용한 것은 https://wiki.freecad.org/Object_name

연락하기!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

이 프로젝트는 이들에 의해 지원되었습니다: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub