LISP CAD 求助高手点拨,怎么能用代码实现,区分出同一位置,有几个图形元素重叠?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LISP CAD 求助高手点拨,怎么能用代码实现,区分出同一位置,有几个图形元素重叠?相关的知识,希望对你有一定的参考价值。

举例,图上有A,B两点,从A到B有两个线,颜色和线型一样,怎么能用代码区分出A到B有多个图形元素重叠呢,如果A到B之间有一点C,那么有两条直线,AB和AC那么也就是AC长度小于AB但是和AB走向重合且线型相同时,怎么才能用Lisp代码实现区分出以上情况呢?

参考技术A 利用选择集,建立循环,逐个拿出,与其它的对比,对比完,有重复的,将该元素与重得元素存至一个新选择集,不重复的,存至原选择集,循环完毕;输出或选中自己想要的内容。追问

那么用什么方法识别重复呢,我想的是用ssget后entget获得关联的dxf关联表,但是对于直线,和文字,怎么分别取识别是否为相同的呢?关于直线dxf列表里并未有直线的线宽,线颜色之类的信息,也是就只有一部分信息,这样的话,怎么去判断两个元素是完全一样的呢?

[求助]有没有C语言高手啊,关于execv的用法

最近刚接触C,需要做一个minishell
类似linux下的bash,不过要简单很多很多
用fork()和execv()实现
怎么用execv()来运行输入的指令呢。。。
比system()要复杂的多啊 @_@

测试不带参数的
execv(str, NULL);
str是输入的路径
貌似没有反应...
man execv看不太懂
带参数的又应该要怎么写?

第一次用百度知道,不知道发的对不对
哪位能指导一下啊。。。大感谢

  execv用法介绍:

  execv会停止执行当前的进程,并且以progname应用进程替换被停止执行的进程,进程ID没有改变。

  如果应用程序正常执行完毕,那么execv是永远不会返回的;当execv在调用进程中返回时,说明这个应用程序应该出错了,此时它的返回值应该是-1,具体的错误代码可以通过全局变量errno查看,还可以通过stderr得到具体的错误描述字符串。

  示例如下:

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <errno.h>


main(void)

  pid_t pid = fork();
   
  if( pid == 0 ) // this is the child process
  
     execv("/bin/ls", NULL);

     // the program should not reach here, or it means error occurs during execute the ls command.
     printf("command ls is not found, error code: %d(%s)", errno, strerror(errno);
  
参考技术A #include<process.h>
int execv (char *path.char *argv[]);
加在exec..函数族名后的后缀p、l、v、e表示指定的函数具有功能;其中v表示参数指针(argv【0】..,argv【n】)按指针数组传送。一般来说,当要传送的参数可变时、用后缀v。本回答被提问者采纳

以上是关于LISP CAD 求助高手点拨,怎么能用代码实现,区分出同一位置,有几个图形元素重叠?的主要内容,如果未能解决你的问题,请参考以下文章

怎么用CAD LISP把CAD布局里视口转成块对象?

CAD做一个LISP程序,实现按属性块图框里的一个图号按从左到右排列?

VBA程序里面如何使用Lisp的选择集?

求高手点拨:一个Java的“IO读取txt文件中的数据”的问题.

求高手点拨Java的“换行标记符”,都有哪些。

cad lisp脚本 修改