更新 gp:Calculate-and-Draw-Tiles
在本课的前面,我们指出,当从反应器回调调用时,需要强制使用 ActiveX 来创建对象。这意味着如有必要,将覆盖用户选择的对象创建样式(ActiveX 或 )。您刚刚更新的代码(在函数中)包含对切片绘制例程的以下调用:gp:Calculate-and-Draw-Tilesentmakecommandgp:command-ended (setq tileList (gp:Calculate-and-Draw-Tiles ;; path data list without correct tile list. NewReactorData ;; Object creation function. ;; Within a reactor this *MUST* be ActiveX. "ActiveX" ) ) 两个参数被传递给:(原始关联列表形式的列表)和字符串(将设置对象创建样式)。但是看看 的当前定义。(如果您忘记了,此函数在 gpdraw.lsp 中定义。下面是声明参数和局部变量的函数部分:gp:Calculate-and-Draw-TilesNewReactorDatagp_PathData"ActiveX"gp:Calculate-and-Draw-Tiles (defun gp:Calculate-and-Draw-Tiles (BoundaryData / PathLength TileSpace TileRadius SpaceFilled SpaceToFill RowSpacing offsetFromCenter rowStartPoint pathWidth pathAngle ObjectCreationStyle TileList) 请注意,当前只指定了一个参数,并被标识为局部变量。查看变量的设置方式,这在函数中稍远一些:ObjectCreationStyleObjectCreationStyle (setq ObjectCreationStyle (strcase (cdr (assoc 3 BoundaryData)))) 目前,通过检索隐藏在变量(关联列表)中的值,在函数内部设置。但现在您需要能够覆盖该值。ObjectCreationStyleBoundaryData 修改 gp:Calculate-and-Draw-Tiles 以接受对象创建样式参数
|
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-28 17:28
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.