首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将点添加到现有几何中

将点添加到现有几何中
EN

Stack Overflow用户
提问于 2020-05-10 17:27:20
回答 1查看 80关注 0票数 0

我在AutoCAD中创建了一个2D几何图形的dxf文件,我想在现有几何图形的线条上添加点。要添加的点数列表显示在文本文件中。

例如,在上面的图像中,我想在3到2之间的直线上添加10个点。这10个点的(x,y)坐标出现在文本文件中。是否有一种方法来导入和抓取靠近边界的坐标(/line),因为坐标来自于预处理步骤,并且可能与3-2上的实际点有点偏离。

任何建议都会有很大帮助的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-11 03:27:58

最基本的情况是这样的:

代码语言:javascript
复制
 (defun C:ImportPoints (  / path coordinates askForFile loadPoints draw
 *error* )  (defun *error* ( msg / ) 
     (if (not (null msg ) ) (progn (princ "\nC:ImportPoints:*error*: " ) (princ msg ) (princ "\n")  ) )
 )
  (defun askForFile (  / 
      *error* ) (defun *error* ( msg / ) 
          (if (not (null msg ) )    (progn (princ "\naskForFile:*error*: " ) (princ msg ) (princ "\n")  ) )
      )
      (getfiled "Select the file with coordinates" "txt" 2)
  )

  (defun loadPoints ( path / 
      *error* ) (defun *error* ( msg / ) 
          (if (not (null msg ) )    (progn (princ "\nLoadPoints:*error*: " ) (princ msg ) (princ "\n")  ) )
      )  

    (setq filedesc (open Path "r"))
    (if filedesc(progn 
        (setq OutList (list))
        (setq linia(read-line filedesc))
        (while linia
        (progn
            (setq OutList (append OutList (list linia)))
            (setq linia (read-line filedesc))
        ))
        (close filedesc )
    ))  
    OutList
  )

  (defun draw ( coordinates / 
      *error* ) (defun *error* ( msg / ) 
          (if (not (null msg ) )    (progn (princ "\ndraw:*error*: " ) (princ msg ) (princ "\n")    ) )
      )
      (setq lastOSMODE (getvar "OSMODE"))
      (setvar "OSMODE" 512) ; 512 nearest
      (foreach % coordinates
        (command "_POINT" %)
      )
      (setvar "OSMODE" lastOSMODE ) ; ensure You didn't change anything in user settings
  )   


 (setq path (askForFile) )
 (setq coordinates (LoadPoints path) )
 (draw coordinates)

)

您必须知道这是功能的基本“骨架”。您必须使用的主要功能是:

(getfiled ...) --允许您选择文件

(setvar "OSMODE" 512) --它的作用将是在线上

(command "_POINT" coordinates)将画出点,结果也将取决于文件中坐标的格式。预期的坐标是2或3个坐标,由,分隔,小数点应该用.分隔,我不记得了,但可能取决于您的本地设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61716035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档