明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2650|回复: 11

我是新手! 请大家帮忙~

  [复制链接]
发表于 2003-7-23 16:17:00 | 显示全部楼层 |阅读模式
帮忙看一下下面的程序是做什么的?

(defun k_cmn_SetScale(
  &en   
  &xscale
  &yscale
  &zscale
  /
  #eg #Neweg
  
  )

  (setq #eg (entget &en '("*")))

  (setq #Neweg (subst (cons  41 &xscale )(assoc  41 #eg) #eg))

  (setq #Neweg (subst (cons  42 &yscale )(assoc  42 #Neweg) #Neweg))

  (setq #Neweg (subst (cons  43 &zscale )(assoc  43 #Neweg) #Neweg))

  (entmod #Neweg)

);k_cmn_SetScale
发表于 2003-7-23 16:33:00 | 显示全部楼层
修改插入块的X、Y、Z三个方向比例
 楼主| 发表于 2003-7-23 16:39:00 | 显示全部楼层
我需要把这个做成VBA的程序. 我原来是象你说的那么理解, 然后做了.

可检查的人告诉我错了!

说要用: SetWidth, SetBulge方法.

最后一个改LWPolyline的 ConstantWidth属性. 我头就大了.
发表于 2003-7-23 17:50:00 | 显示全部楼层
这是一个LISP程序,VBA我不熟,不知道你怎么把这个LISP函数做到VBA里,
看这个函数,应该是要修改插入块的,从DXF组码来修改,
我不知道你后面说的的东西同这个函数有没有什么关系?
发表于 2003-7-23 18:56:00 | 显示全部楼层
dokgo发表于2003-7-23 16:39:00我需要把这个做成VBA的程序. 我原来是象你说的那么理解, 然后做了.
可检查的人告诉我错了!
说要用: SetWidth, SetBulge方法.
最后一个改LWPolyline的 ConstantWidth属性. 我头就大了.


你想做到怎样的效果。
用VBA对优化多段线的修改会简单一点。
 楼主| 发表于 2003-7-24 08:45:00 | 显示全部楼层
meflying发表于2003-7-23 17:50:00这是一个LISP程序,VBA我不熟,不知道你怎么把这个LISP函数做到VBA里,
看这个函数,应该是要修改插入块的,从DXF组码来修改,
我不知道你后面说的的东西同这个函数有没有什么关系?



后面说的是VBA里面的方法和属性. 我接的任务是要把上面的LISP程序改成VBA的. 要实现同样功能. 原来是按你说的方法去理解, 然后修改VBA里面的XScaleFactor, YScaleFactor, ZScaleFactor. 我现在还是觉得这样是对的. 可他们检查的人说不对. 我就上来问问.
 楼主| 发表于 2003-7-24 08:50:00 | 显示全部楼层
mccad发表于2003-7-23 18:56:00你想做到怎样的效果。
用VBA对优化多段线的修改会简单一点。



就是要将LISP程序翻译成VBA. 程序运行要求同样的结果.

另: 请问哪里有LSP教程可以下吗? 我对LISP是一窍不通.

对这个程序里面的三个数字, 41,42,43不知道它们是代表其中一个属性还是没有特殊意义?

谢谢了~

发表于 2003-7-24 09:57:00 | 显示全部楼层
dokgo发表于2003-7-24 8:50:00以下是引用mccad在2003-7-23 18:56:41的发言:
你想做到怎样的效果。
用VBA对优化多段线的修改会简单一点。

[/s...
[/quote]

本站就有
发表于 2003-7-24 13:09:00 | 显示全部楼层
还没搞清楚,如果你需要修改的是优化多段线,则
40为段起始宽度
41为段结束宽度
42为段的凸度
43为多段线所有段的宽度

而如果你要修改的是块,则
41为块的X方向比例
42为块的Y方向比例
43为块的Z方向比例

但按照你所说的情况,应该属性修改块的,因为果是修改多段线的话,除了需要多段线图元,还需要给出修改多段线上哪一段的定义。

但你们的领导说要用到什么SetWidth和SetBulge,也就是修改宽度和凸度,那就请你们领导再给出一个函数的参数,不然函数给他也没用。
 楼主| 发表于 2003-7-24 13:52:00 | 显示全部楼层
谢谢楼上.

如果是修改优化多段线, 那至少应该再增加一个参数, 你是这意思吗?

我们接的活就是把LISP改成VBA.  其他没什么文字说明和要求的. 所以检查人员也不知道更多要求. 只是从调用这个LISP涵数来看, 该是改多段线的. 现在决定判断实体是多段线还是块. 两种都做.

难就难在客户没有文字说明. 只给LISP程序. 需要靠自己来分析判断怎么做.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 19:59 , Processed in 0.204044 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表