VS:SymbolToGroup: Difference between revisions
Jump to navigation
Jump to search
m (1 revision) |
(expand example) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 52: | Line 52: | ||
</lineList> | </lineList> | ||
</params> | </params> | ||
----------------------------------------------------------------------------------------------------------- | |||
<remark> | |||
([[User:Orso.b.schmid|Orso]], 2014.09.14): Upon success, this creates a group which doesn't respond to ''LNewObj''. It actually disables ''LNewObj'', which will return NIL, unregarded what you created before running ''SymbolToGroup'' | |||
The handle to the group can be fetched storing a handle to the object BEFORE the symbol on drawing, then fetching the next object: | |||
<code lang="pas"> | |||
PROCEDURE Test; | |||
VAR | |||
h : HANDLE; | |||
BEGIN | |||
h := PrevObj(FSActLayer); { store "h" as placeholder } | |||
{ FSActLayer must be a symbol on drawing } | |||
IF (FSActLayer <> NIL) & (GetType(h) = 15) THEN BEGIN | |||
SymbolToGroup(FSActLayer, 2); | |||
{ fetch group starting from placeholder "h" } | |||
Message(GetType(NextObj(h))); { <-- NextObj(h) should return 11: is the new group } | |||
END ELSE | |||
AlrtDialog('Select a symbol on drawing!'); | |||
END; | |||
RUN(Test);</code> | |||
</remark> | |||
----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
Revision as of 06:25, 15 September 2014
.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix
Description
Converts referenced symbol to group using the specified conversion options.
Convert Action | Constant |
---|---|
Don't convert subobjects | 0 |
Convert plug-in and symbol subobjects | 1 |
Convert all subobjects | 2 |
PROCEDURE SymbolToGroup(
h :HANDLE;
convertAction :INTEGER);
def vs.SymbolToGroup(h, convertAction): return None
Parameters
h HANDLE Handle to the symbol convertAction INTEGER Conversion action:
Remarks
(Orso, 2014.09.14): Upon success, this creates a group which doesn't respond to LNewObj. It actually disables LNewObj, which will return NIL, unregarded what you created before running SymbolToGroup
The handle to the group can be fetched storing a handle to the object BEFORE the symbol on drawing, then fetching the next object:
PROCEDURE Test; VAR h : HANDLE; BEGIN h := PrevObj(FSActLayer); { store "h" as placeholder } { FSActLayer must be a symbol on drawing } IF (FSActLayer <> NIL) & (GetType(h) = 15) THEN BEGIN SymbolToGroup(FSActLayer, 2); { fetch group starting from placeholder "h" } Message(GetType(NextObj(h))); { <-- NextObj(h) should return 11: is the new group } END ELSE AlrtDialog('Select a symbol on drawing!'); END; RUN(Test);
Version
Availability: from VectorWorks 10.0