- UID
- 604462
- 积分
- 3865
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2008-3-12
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
There are various ways -
1. Use the Blackboard Namespace
When you define functions or assign values to global variables, these are defined within the Document Namespace and are hence only accessible from within the active document. However, you can store variables in a shared namespace known as the 'Blackboard Namespace', which is accessible from within all documents.
For example:
To store data in the Blackboard Namespace, use the vl-bb-set function, e.g.:
_$ (vl-bb-set 'myvar 123)
123
To retrieve the stored data from the Blackboard Namespace, use the vl-bb-ref function, e.g.:
_$ (vl-bb-ref 'myvar)
123
2. Use the vl-propagate function
The vl-propagate function will copy the value of a given variable from the active document namespace into all other document namespaces (including those subsequently opened after the function has been evaluated). However, unlike the use of a shared namespace, since the variables are copied to other namespaces, if you change the value of the variable in one namespace, the value of the variable will not change in the namespaces to which the variable has been copied.
For example:
Drawing1.dwg
Command: (setq myvar 123)
123
Command: (vl-propagate 'myvar)
123
Drawing2.dwg
Command: !myvar
123
On changing the variable in Drawing1.dwg:
Command: (setq myvar 456)
456
The value is not changed in Drawing2.dwg (until vl-propagate is called again):
Command: !myvar
123
3. Other Methods
Other methods of transferring data between documents include:
Writing data to file within one document and reading the file data from within another document
Writing data to the registry within one document and reading the registry data from within another document |
|