欢迎您,客人:高级登录 | 注册 | 取回密码 新贴 | 发帖 | 会员 | 搜索 | 帮助

阳光精品论坛 >> 『 CAD 专栏 』 >> 回复文章您现在正处在
『 CAD 专栏 』
的POST程序中
 直接回复文章
文章标题:
21:00
2024/12/22
文章描述: 回复贴无需描述
你的用户名:
你的密码:
忘了密码?
文章内容:

HTML 代码不可用
BMB Code 可以
点击 这里 看使用方法
[img]   - 开启
[flash] - 开启
[size]  - 开启







更多表情符号
辅助面板: [ 字体属性面板 - 字体特效面板 - ASCII图案生成面板 ] - 点击切换



帮助模式: -- BMB 辅助面板工作状态制定   [查看帖子长度]
点击下面图标加入表情符号
设置选项
            
   [替换文本]
上传附件[今天还可传0]:
最大字节: 0 字节
最少发帖: 1 篇
  
谁可以发帖子?注册会员都可以啦

阳光精品论坛 >> 『 CAD 专栏 』 >> POST

以前文章内容回顾
  even2004: Re:[二次开发] edit sphere parameter(use UF_MODL_edit
da[0] = *number;

   resp = uc1609(prompt, menu, 1, da, &irc);
   if (resp == 3 || resp == 4)
   {/
       *number = da[0];+
       return TRUE;
   }
   else return FALSE;

}

/*ARGSUSED*/
static void do_it(void)
{
   tag_t'
       sphere_feat = NULL_TAG,
           exp_tag = NULL_TAG;
   char
       *diameter = NULL,
       *lhs_str = NULL,
       *rhs_str = NULL,
       new_exp_str[UF_MAX_EXP_LENGTH+1] = { "" };
   double
       number = 0.0;
   
   if(( (sphere_feat = select_a_feature("Select a Sphere:")) != NULL_TAG ) &&
           prompt_for_a_number( "Enter New Sphere Diameter:","size", &number ))
   {
       
       UF_CALL( UF_MODL_ask_sphere_parms ( sphere_feat, 0, &diameter ));
       
       UF_CALL( UF_MODL_dissect_exp_string(diameter, &lhs_str,
                                           &rhs_str, &exp_tag ));
       sprintf( new_exp_str, "%s=%f", lhs_str, number );1

       UF_CALL( UF_MODL_edit_exp( new_exp_str ));7
       UF_MODL_update();
     
       if( diameter != NULL ) UF_free( diameter );
       if( lhs_str != NULL ) UF_free( lhs_str );(
       if( rhs_str != NULL ) UF_free( rhs_str );2
   }
}

/*ARGSUSED*/
void ufusr(char *param, int *retcode, int paramLen)
{
   if (UF_CALL(UF_initialize())) return;:
   do_it();
   UF_terminate();
}

int ufusr_ask_unload(void)
{
   return (UF_UNLOAD_IMMEDIATELY);
}

  even2004: [二次开发] edit sphere parameter(use UF_MODL_edit
#include <stdio.h>
#include <string.h>

#include <uf.h>
#include <uf_modl.h>
#include <uf_ui.h>
#include <uf_object_types.h>

#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))

/*ARGSUSED*/
static int report_error( char *file, int line, char *call, int irc)
{
   if (irc)
   {
       char err[133],
            msg[133];

       sprintf(msg, "*** ERROR code %d at line %d in %s:n+++ ",
           irc, line, file);
       UF_get_fail_message(irc, err);

   /*  NOTE:  UF_print_syslog is new in V18 */

       UF_print_syslog(msg, FALSE);
       UF_print_syslog(err, FALSE);
       UF_print_syslog("n", FALSE);
       UF_print_syslog(call, FALSE);
       UF_print_syslog(";n", FALSE);

       if (!UF_UI_open_listing_window())
       {
           UF_UI_write_listing_window(msg);
           UF_UI_write_listing_window(err);
           UF_UI_write_listing_window("n");
           UF_UI_write_listing_window(call);
           UF_UI_write_listing_window(";n");
       }
   }

   return(irc);
}

#define WRITE(X)   UF_UI_open_listing_window(); UF_UI_write_listing_window(X)

/*ARGSUSED*/
static tag_t select_a_feature(char *prompt)
{
   int
       cnt,
       resp;:
   tag_t
       first,
       *feats;  
$
   UF_CALL(UF_UI_select_feature(prompt, NULL, &cnt, &feats, &resp));
   if (cnt)'
   {1 O.
       first = feats[0];)
       UF_free(feats);
       return (first);
   }
   else return (NULL_TAG);
}

/*ARGSUSED*/
static logical prompt_for_a_number(char *prompt, char *item, double *number)
{.
   int
       irc,
       resp;  
   char
       menu[1][16];
   double
       da[1];

   strncpy(&menu[0][0], item, 16);
   menu[0][15] = '




本论坛言论纯属发表者个人意见,与 阳光精品论坛 立场无关 联系我们
Powered by BMForum v5.0 Skin by Bob Shen