乐筑天下

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

[编程交流] 列表列表帮助

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:00:57 | 显示全部楼层 |阅读模式
我有两个数据列表,每个列表都是不同长度的列表。
我在分析和组合列表的部分内容时遇到问题。
 
我想从阳性测试的数据列表开始{contains id#and attributes for blocks,exe:((“id#1”“date1”“plant”“test”“result”)(“id#3”“date3”“plant3”“test3”“result3”)),
 
并将块插入到不同列表{contains id#and x,y coordinates exe:((“id#1”“x1”“y1”)(“id#2”“x2”“y2”)(“id#3”“x3”“y3”))的坐标中
 
我的工厂将2个列表合并为1个列表,删除不在位置测试列表中的id和坐标。与此类似:
(((“x1”“y1”“id#1”“date1”“plant1”“test1”“result1”)(“x3”“y3”“id#3”“date3”“plant3”“test3”“result3”))删除列表的(“id#2”“x2”“x3”)部分。
 
我知道我想要什么,但不知道如何实现。
我用LeeMac的lm:readcsv从一个csv文件创建列表,但我在尝试正确使用数据时迷失了方向。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:27:15 | 显示全部楼层
欢迎使用CADTutor-我很高兴你发现我的阅读CSV功能很有用!
 
以下代码完全未经测试,但有望按要求执行:
  1. (defun myinsert ( spc blk lst1 lst2 / dwg ins )
  2.    (if (or (tblsearch "block" blk)
  3.            (and (setq dwg (findfile (strcat blk ".dwg")))
  4.                 (   (lambda ( / cmd )
  5.                         (setq cmd (getvar 'cmdecho))
  6.                         (setvar 'cmdecho 0)
  7.                         (command "_.-insert" dwg nil)
  8.                         (setvar 'cmdecho cmd)
  9.                         (tblsearch "block" blk)
  10.                     )
  11.                 )
  12.            )
  13.        )
  14.        (foreach x lst1
  15.            (if (and (setq ins (mapcar 'distof (cdr (assoc (car x) lst2))))
  16.                     (vl-every 'numberp ins)
  17.                )
  18.                (mapcar 'vla-put-textstring
  19.                    (vlax-invoke (vla-insertblock spc (vlax-3D-point ins) blk 1 1 1 0) 'getattributes)
  20.                    (cdr x)
  21.                )
  22.            )
  23.        )
  24.        (prompt (strcat "\nBlock "" blk "" not found."))
  25.    )
  26.    (princ)
  27. )
调用:
  1. (myinsert
  2.    (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
  3.    [color=red]"Your-Block-Name"[/color]
  4.   '(("id#1" "date1" "plant" "test" "result") ("id#3" "date3" "plant3" "test3" "result3"))
  5.   '(("id#1" "1" "1") ("id#2" "2" "2") ("id#3" "3" "3"))
  6. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 03:33 , Processed in 0.475946 second(s), 56 queries .

© 2020-2025 乐筑天下

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