乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 57|回复: 5

[编程交流] 表达属性e不足

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:01:17 | 显示全部楼层 |阅读模式
大家好,
我最终决定编写我的第一个LISP过程,它通常可以工作。。。万岁!
尽管如此,当我想出一个更方便的想法(与Excel VBA合作)时,它看起来并不像我想的那样超级:
我在LISP中使用此命令将我的主块插入到块集中(其他只是图形对象-它们没有问题):
(命令“_insert”“Listwa\u Zac\u Start”insertPt1“1”“1”“0”NazwaListwy AtrSrd”“AtrKabelOzn”“AtrKabelDane”)
 
哪里:
Listwa_Zac_Start-块的名称
insertPt1-从用户处较早获取的插入点
“1”“1”“0”-比例X、比例Y、旋转
NazwaListwy-标题(从用户获得的单行属性)
AtrSrd-多行属性(例如:1\n2\n3\n4\n5\n6\n7\n…)
AtrKabelOzn多行属性(例如:W1\n\n\nW2\n\n\nW3…)
 
问题是,在使用express tool将此块的属性导出到txt文件后,而不是像示例1\P2\P3\P4\P5\P6\P7\P那样获取字符串。。。当我一步一步地插入这个块并手动编辑属性时,我得到了这样的结果:
1.
2.
3.
4.
...
这真的很糟糕,因为它甚至停留在错误的列中(在txt文件中)。当然,问题在于所有这样创建的多行属性。
 
那么问题是,如何使这个属性,使我将得到“正常”输出的txt文件后,呢?
 
如果你需要dwg lisp或txt的示例,我当然可以上传,只是我很确定,这行有问题
 
提前感谢您提出的任何明智想法
当做
俄罗斯55
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:19:03 | 显示全部楼层
根据本例,使用lisp将返回“textstring”
 
  1. (foreach att (vlax-invoke (vlax-ename->vla-object (car (entsel "pick block"))) 'getattributes)
  2.   (alert (vla-get-textstring att))
  3. )
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:37:05 | 显示全部楼层
确实如此-对于现有区块,
它返回与Express/export(在第一篇文章中描述)相同的字符串。对于手动编辑的属性,它返回“/P”作为下一行符号,但对于由完整插入命令(如第一篇文章所述)创建的属性,它返回下一行,作为。。。下一行。
我附上了结果的截图。
 
问题是,如何更改insert命令,使其使用“/P”作为下一行符号?
190123pfb6qh2r116br2ry.png
190124kiysy77bwiywo0io.png
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:47:28 | 显示全部楼层
发布dwg应该能够将答案处理回一行文本中。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 18:58:35 | 显示全部楼层
正如BIGAL所说,上传一个样例图形,并发布您在第一篇文章中提到的将属性导出到txt文件时所寻找的结果。
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 19:06:39 | 显示全部楼层
 
感谢您的关注,下面是:
 
块X1完全使用我的过程=>得到下一行符号作为下一行,
X2是通过手动编辑属性生成的=>下一行符号是“\P”,我也希望通过过程实现。它适用于以下属性:
ZACISKI_SRODEK,我想在这个例子中得到:\ W0.8000;\pxa0.3334;1\P2\P3\P4\P5\P6
KABEL_GORA,我想在这个例子中得到:\W0.8000;\pxa0.3334;W1\P\PW2\P\PW3
KABEL_DOL,我想在这个例子中得到:\ W0.8000;\pxa0.3334;XxXX\P\Pabcd XxXX\P\Pabcd XxXX
 
随函附上:
-dwg示例:示例。图纸
-Lisp程序(注释是波兰语的,但我很确定你不会对这么简单的任务有问题):Zacisk。LSP
-txt导出文件(X1不合适,X2是我想要的):示例。txt文件
 
正如我之前提到的,这是我的第一个LISP,所以任何关于未来的好提示都是非常受欢迎的(例如,我最近遇到了一个问题,在程序完成后,文本屏幕显示在主ACAD窗口中-我不知道如何避免这一点)。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 23:34 , Processed in 0.531313 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表