向数据库添加数据?
你好我正在学习如何编辑实体列表和更新数据库。如何将成员添加到数据库?什么是字典?
Thanx公司
谢伊 您必须检查ENTMAKE/ENTMAKEX函数;有关相关列表中应该包含的内容,请参阅DXF参考。 我在考虑添加一个层,但不使用命令 上述建议的解决方案适用于图形数据库中的图形和非图形(即图层、线型定义、样式)条目。请在添加层时检查上一个线程。 使用它而不是命令的真正原因是什么?除了速度之外 使用entmake,即使实体已经存在,也会重新创建它,因此您需要注意一些事情,例如块。如果你输入一个“块”,没有提示询问你是否真的想这样做,这是一个单独的entmake实际插入到图形“插入”块。
真正的好处是,您可以在对话框处于活动状态或在Reactor函数内执行entmake函数。在这两种情况下都不能执行命令。有些东西可能很难制作,比如两条线之间的鱼片半径。具有属性的块是一个捕捉,但将块插入到0,0以外的位置可能会很麻烦,因为需要转换属性位置。我通常对属性为0,0的块进行“插入”,然后使用暂停选项执行命令“移动”,以供用户输入或放置在已知坐标上。使用entmake时,用户输入不会暂停,因此实体不会在屏幕上拖动。
尽管大部分时间使用entmake速度更快,但你还是做到了。autocad创建的命令本质上是由autodesk构建的entmake函数。
使用entmake的另一个大优点是,您可以将图形窗口中不存在的内容entmake,因此无需缩放或平移。大多数命令要求正在制作或编辑的对象位于现有屏幕视图中。(因此entmake过程对用户来说可能不那么明显,因为缩放等不会导致屏幕闪烁。) samifox,
请不要开始询问如何使用entmake创建任何实体,除非您在这里或谷歌进行搜索,可以使用entmake创建的99%的项目已经完成,并且可以公开获取。这里是一个很好的参考所有DXF代码需要entmake任何实体。
http://exchange.autodesk.com/autocad/enu/online-help/browse#WS1a9193826455f5ff18cb41610ec0a2e719-7a04.htm
好啊
我用这个
(defun C:009 ()
(entmake
(list (cons 0 "LAYER")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbLayerTableRecord")
(cons 2 "layer_name2")
(cons 70 0)
(cons 62 2)
)
)
)
现在我想修改图层颜色,
如果我用相同的层名称重新调用相同的entmake,则得到零
如何更新? 看看这个。
(defun LayerMake (clr name)
(if (and (< -1 clr 257)
(snvalid name)
(not (tblsearch "LAYER" name))
)
(entmake
(list '(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
(cons 2 name)
(cons 62 clr)
)
)
)
)
你好
该代码阻止创建层(如果存在),但不更新现有层,对吗?
其次,在我的代码中,我没有使用引号,因为数字是自动生成的,在你的代码中,你确实使用了引号,为什么它首先会工作?
页:
[1]
2