乐筑天下

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

[编程交流] 从xcel创建图形

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:55:55 | 显示全部楼层 |阅读模式
我想知道如何根据xcel电子表格中的信息创建绘图。我已经创建了一个电子表格,可以生成瓷砖的宽度、长度和角度,但我想知道如何让autocad看到这一点来创建视图并为其标注尺寸。
 
请给我指出正确的方向!
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-6 00:09:53 | 显示全部楼层
http://www.dotsoft.com/autocell.htm对于某些符合逻辑的实体类型,其“推送”能力有限。
 
在该页面上向下滚动大约1/3的方向,直到看到“双向链接”
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

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

铜币
362
发表于 2022-7-6 00:18:11 | 显示全部楼层
 
这看起来像是用于将表格导入AutoCAD,如Dotsoft中的XL2CAD
 
你可能想重读原来的帖子。我认为OP正在寻找基于电子表格中的尺寸绘制实体的东西。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 00:24:10 | 显示全部楼层
 
我不明白你说的瓷砖的宽度、长度和角度是什么意思
更好的是,为了更好地理解,您需要附上图纸
也许我能帮你
另一个问题是关于你需要这个程序的哪种语言:Lisp,VBA等等
我认为解决这个问题的最好方法是VBA
 
富含脂肪的
 
~'J'~
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 00:36:27 | 显示全部楼层
对不起,回复时间太长了,我一直忙得不可开交。不幸的是,我不能张贴图纸做公司政策和国际贸易协定。
 
我正在尝试创建一个VBA程序,该程序将从Excel中生成的参数中绘制矩形。
 
前提。
 
我想提示用户输入圆柱体的长度和直径。我想通过VBA将这些值输入到预先存在的Excel电子表格中。
 
然后,电子表格将确定我需要多少列和几行砖来覆盖上述圆柱体。
 
电子表格的规则如下:,
 
砖的长度不能超过9英寸,宽度不能超过3-1/2英寸。
根据用户输入,其厚度也可以在1/2英寸到2英寸之间。
 
电子数据表计算周长并确定如何用砖均匀地覆盖该区域(尽可能使用9 x 3.5中的大部分)。本质上,它确定了一个多边形,该多边形将尽可能地与直径相匹配,并生成一个新的长度和宽度来覆盖该区域。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 00:42:38 | 显示全部楼层
我对这样的任务很感兴趣
可以让你做以下事情(不违反政策
您的公司):
准备示例Excel文件作为表格应该如何查看
本表中的数据还准备了一张简单的图纸,其中有完整的解释,
视觉上,我更容易理解后续动作的定义
我已经做了程序的初步部分
从表中定义瓷砖的尺寸,然后在AutoCAD中绘制
如果将此变体安排给您,请将这些文件发送到:
fixo@yandex.ru
 
富含脂肪的
 
~'J'~
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 00:50:32 | 显示全部楼层
  1. ;|
  2.     GET_XL.LSP
  3.     Created by Elpanov Evgeniy
  4.     [email="842@list.ru"]842@list.ru[/email]
  5.     [email="elpanov@gmail.com"]elpanov@gmail.com[/email]
  6. Data reading from Microsoft Excel not using Excel.
  7. This code, can read diverse data from all tables.
  8. ARGUMENTS:
  9. A string containing a complete file name, including the path.
  10. (setq tbl "D:\\7.xls")
  11. USAGE:
  12. (GET_xl tbl)
  13. RETURN VFALUES
  14. The list of all pages in a file with all data
  15. |;
  16. (defun rec-rem-dupl (lst)
  17. (if lst
  18. (cons (car lst) (rec-rem-dupl (vl-remove (car lst) (cdr lst))))
  19. ) ;_  if
  20. ) ;_  defun
  21. (defun GET_xl (tbl / ADOCONNECT ADORECORDSET LST)
  22. (setq
  23. ADOConnect   (vlax-get-or-create-object "ADODB.Connection")
  24. ADORecordset (vlax-get-or-create-object "ADODB.Recordset")
  25. ) ;_  setq
  26. (if (not
  27.      (vl-catch-all-error-p
  28.       (vl-catch-all-apply
  29.        (function vlax-invoke-method)
  30.        (list
  31.         ADOConnect
  32.         "Open"
  33.         (strcat
  34.          "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
  35.          tbl
  36.          ";Extended Properties=;Excel 8.0;HDR=No"
  37.         ) ;_  strcat
  38.         "admin"
  39.         ""
  40.         nil
  41.        ) ;_  list
  42.       ) ;_  vl-catch-all-apply
  43.      ) ;_  vl-catch-all-error-p
  44.     ) ;_  not
  45. (progn
  46.   (setq
  47.    lst (mapcar
  48.         (function
  49.          (lambda (l / i c)
  50.           (vlax-invoke-method
  51.            ADORecordset
  52.            "Open"
  53.            (strcat "SELECT * FROM [" l "]")
  54.            ADOConnect
  55.            1
  56.            3
  57.            nil
  58.           ) ;_  vlax-invoke-method
  59.           (setq
  60.            i (length
  61.               (car
  62.                (vlax-safearray->list
  63.                 (vlax-variant-value
  64.                  (vlax-invoke-method
  65.                   ADORecordset
  66.                   "GetRows"
  67.                   65535
  68.                  ) ;_  vlax-invoke-method
  69.                 ) ;_  vlax-variant-value
  70.                ) ;_  vlax-safearray->list
  71.               ) ;_  car
  72.              ) ;_  length
  73.           ) ;_  setq
  74.           (vlax-invoke-method ADORecordset "Close")
  75.           (while (not (zerop i))
  76.            (vlax-invoke-method
  77.             ADORecordset
  78.             "Open"
  79.             (strcat "SELECT * FROM [" l "a" (itoa i) ":IV" (itoa i) "]")
  80.             ADOConnect
  81.             1
  82.             3
  83.             nil
  84.            ) ;_  vlax-invoke-method
  85.            (setq
  86.             c (cons
  87.                (car
  88.                 (apply
  89.                  (function mapcar)
  90.                  (cons
  91.                   'list
  92.                   (mapcar
  93.                    (function
  94.                     (lambda (a)
  95.                      (mapcar
  96.                       (function
  97.                        (lambda (b)
  98.                         (vlax-variant-value b)
  99.                        ) ;_  lambda
  100.                       ) ;_  function
  101.                       a
  102.                      ) ;_  mapcar
  103.                     ) ;_  lambda
  104.                    ) ;_  function
  105.                    (vlax-safearray->list
  106.                     (vlax-variant-value
  107.                      (vlax-invoke-method
  108.                       ADORecordset
  109.                       "GetRows"
  110.                       65535
  111.                      ) ;_  vlax-invoke-method
  112.                     ) ;_  vlax-variant-value
  113.                    ) ;_  vlax-safearray->list
  114.                   ) ;_  mapcar
  115.                  ) ;_  cons
  116.                 ) ;_  apply
  117.                ) ;_  car
  118.                c
  119.               ) ;_  cons
  120.             i (1- i)
  121.            ) ;_  setq
  122.            (vlax-invoke-method ADORecordset "Close")
  123.           ) ;_  while
  124.           (if (equal c '((nil) (nil)))
  125.            (list l)
  126.            (cons l c)
  127.           ) ;_  if
  128.          ) ;_  lambda
  129.         ) ;_  function
  130.         (rec-rem-dupl
  131.          (caddr
  132.           (mapcar
  133.            (function
  134.             (lambda (a)
  135.              (mapcar
  136.               (function vlax-variant-value)
  137.               a
  138.              ) ;_  mapcar
  139.             ) ;_  lambda
  140.            ) ;_  function
  141.            (vlax-safearray->list
  142.             (vlax-variant-value
  143.              (vlax-invoke-method
  144.               (vlax-invoke-method
  145.                ADOConnect
  146.                "OpenSchema"
  147.                4
  148.               ) ;_  vlax-invoke-method
  149.               "GetRows"
  150.               65535
  151.              ) ;_  vlax-invoke-method
  152.             ) ;_  vlax-variant-value
  153.            ) ;_  vlax-safearray->list
  154.           ) ;_  apply
  155.          ) ;_  caddr
  156.         ) ;_  rec-rem-dupl
  157.        ) ;_  mapcar
  158.   ) ;_  setq
  159.   (vlax-invoke-method ADOConnect "Close")
  160.   (vlax-release-object ADORecordset)
  161.   (vlax-release-object ADOConnect)
  162.   (setq ADORecordset nil
  163.         ADOConnect nil
  164.   ) ;_  setq
  165.   lst
  166. ) ;_  progn
  167. (progn
  168.   (vl-catch-all-apply
  169.    'vlax-invoke-method
  170.    (list ADOConnect "Close")
  171.   ) ;_  vl-catch-all-apply
  172.   (vlax-release-object ADORecordset)
  173.   (vlax-release-object ADOConnect)
  174.   (setq ADORecordset nil
  175.         ADOConnect nil
  176.   ) ;_  setq
  177.   nil
  178. ) ;_  progn
  179. ) ;_  if
  180. ) ;_  defun
回复

使用道具 举报

16

主题

73

帖子

57

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-6 01:01:00 | 显示全部楼层
 
请更正您的代码。我认为是错误代码。
非常感谢。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 22:09 , Processed in 0.479662 second(s), 68 queries .

© 2020-2025 乐筑天下

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